Ответ 1
Это можно сделать довольно эффективно с легким плагином 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, и плагин попытается сформировать блок doc на основе определения.
Пример функции doc block:
/**
* 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...
}
Пример класса doc block
Авторское право, версия, автор и т.д. включены по умолчанию в блок класса doc. Вы можете изменить плагин, чтобы включить в него свои собственные значения по умолчанию:
/**
* TestClass
*
* @package
* @version $id$
* @copyright
* @author Michael <[email protected]>
* @license
*/
class TestClass {
}
Полный пример абстрактного класса:
<?php
/**
* TestClass
*
* @abstract
* @package
* @version $id$
* @copyright
* @author Michael <[email protected]>
* @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...
}
}
?>