Это можно сделать довольно эффективно с легким плагином phpDocumentor .
Редактировать Вот модифицированная версия с более поздней разработкой.
Редактировать Вот версия 2 плагина phpDocumentor . Это более поздняя версия, чем две вышеуказанные ссылки.
Установите плагин в каталог $VIMFILES/plugin
и добавьте его в свой .vimrc:
" PHP documenter script bound to Control-P
autocmd FileType php inoremap <C-p> <ESC>:call PhpDocSingle()<CR>i
autocmd FileType php nnoremap <C-p> :call PhpDocSingle()<CR>
autocmd FileType php vnoremap <C-p> :call PhpDocRange()<CR>
Сказанное выше связывает phpDocumentor с Ctrl p в режиме вставки, обычном и визуальном режимах. Поместите курсор на определение класса, функции или переменной, нажмите Ctrl p , и плагин попытается сформировать блок документа на основе определения.
Пример функционального документа:
/**
* testDocBlock
*
* @param mixed $param1
* @param mixed $param2
* @static
* @access public
* @return boolean
*/
public static function testDocBlock($param1, $param2) {
// Pressed Ctl-p while cursor was on the function definition line above...
}
Пример блока документа класса
Авторские права, версия, автор и т. Д. Включены по умолчанию в блок документации класса. Вы можете изменить плагин, добавив в него свои собственные значения по умолчанию:
/**
* TestClass
*
* @package
* @version $id$
* @copyright
* @author Michael <me@exmaple.com>
* @license
*/
class TestClass {
}
Полный пример абстрактного класса:
<?php
/**
* TestClass
*
* @abstract
* @package
* @version $id$
* @copyright
* @author Michael <email@example.com>
* @license
*/
abstract class TestClass {
/**
* publicProp
*
* @var string
* @access public
*/
public $publicProp;
/**
* privateProp
*
* @var string
* @access private
*/
private $privateProp;
/**
* testDocBlock
*
* @param string $param1
* @param string $param2
* @static
* @access public
* @return boolean
*/
public static function testDocBlock($param1, $param2) {
// code here...
}
}
?>