phpdoc を使いなさいと言われたので、インストールしてみました。 あと、vim でコメントのひな形をいれれるようにしました。
環境 OS: Ubuntu 12.04 64bit PHP: PHP 5.3.10-1ubuntu3.6 with Suhosin-Patch phpDocumentor: 2.0.0a12 Vim: 7.3 Vim に phpdoc コメント生成プラグインを入れる これがよさげ。
PDV - phpDocumentor for Vimhttp://www.vim.org/scripts/script.php?script_id=1355
bundle を利用してインストール。 Bundle を利用してインストールするので .vimrc
に以下を追記。
.vimrc 1 Bundle 'PDV--phpDocumentor-for-Vim'
追記後に :BundleInstall
を実行してインストール。
PDV の設定をする。 デフォルトのコメント設定をするため php-doc.vim
の77行目〜83行目あたりにある下記を変更する。
~/.vim/bundle/PDV--phpDocumentor-for-Vim/plugin/php-doc.vim 1 2 3 4 5 6 7 let g:pdv_cfg_Type = "mixed" let g:pdv_cfg_Package = "" let g:pdv_cfg_Version = "$id$" let g:pdv_cfg_Author = "Tobias Schlitt <toby@php.net>" let g:pdv_cfg_Copyright = "1997-2005 The PHP Group" let g:pdv_cfg_License = "PHP Version 3.0 {@link http://www.php.net/license/3_0.txt}"
今回は Auhor
くらいしか入れないみたいなので下記に変更。
~/.vim/bundle/PDV--phpDocumentor-for-Vim/plugin/php-doc.vim 1 2 3 4 5 6 7 let g:pdv_cfg_Type = "mixed" let g:pdv_cfg_Package = "" let g:pdv_cfg_Version = "" let g:pdv_cfg_Author = "nanigashi <nanigashi@example.com>" let g:pdv_cfg_Copyright = "" let g:pdv_cfg_License = ""
キーバインドも変更。
.vimrc 1 2 3 inoremap <C-P> <ESC> :call PhpDocSingle()<CR> innoremap <C-P> :call PhpDocSingle()<CR> vnoremap <C-P> :call PhpDocRange()<CR>
phpdoc のコメントを入れてみる。 class
の場合は class
の行で、function
の場合は function
が記述してある行で Ctrl + P
で自動でひな形が入る。
doctest.php 1 2 3 4 5 6 <?php class Hoge { function Foo ($bar , $piyo , $fuga =array ( ), $hogera =null ) { return $bar ; } }
このコードで実行すると下記になる。
doctest.php 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 <?php class Hoge { function Foo ($bar , $piyo , $fuga =array ( ), $hogera =null ) { return $bar ; } }
phpDocumentor で phpdoc を生成する。 phpDocumentor 2http://www.phpdoc.org/
Pear のインストール pearを利用しているようなのでインストールする。
Terminal 1 $ sudo apt-get install php-pear
phpDocumentor のインストール チャンネルを登録後、インストールする。
Terminal 1 2 $ sudo pear channel-discover pear.phpdoc.org $ sudo pear install phpdoc/phpDocumentor-alpha
インストールされているか確認。
Terminal 1 2 $ phpdoc --version phpDocumentor version 2.0.0a12
phpdocの生成方法。
phpdoc run -d [input_path] -t [output_path]
phpdoc を生成してみる。 試しにコマンド実行。
Terminal 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 $ phpdoc run -d . -t ./doc Initializing parser and collecting files .. OK Parsing files Parsing /home/nanigashi/phpdoc_test/doctest.php No page-level DocBlock was found in file doctest.php Storing structure.xml in "/home/nanigashi/phpdoc_test/doc/structure.xml" .. OK Initializing transformer .. OK Processing behaviours .. OK Executing transformations [phpDocumentor\Plugin\Core\Exception] The XSL writer was unable to find your XSLTProcessor; please check if you have installed the PHP XSL extension project:run [-t|--target[="..." ]] [-f|--filename[="..." ]] [-d|--directory[="..." ]] [--encoding[="..." ]] [-e|--extensions[="..." ]] [-i|--ignore[="..." ]] [--ignore-tags[="..." ]] [--hidden] [--ignore-symlinks] [-m|--markers[="..." ]] [--title[="..." ]] [--force] [--validate] [--visibility[="..." ]] [--defaultpackagename[="..." ]] [--sourcecode] [-p|--progressbar] [--template[="..." ]] [--parseprivate] [-c|--config[="..." ]]
実行してみると以下のエラーが発生。
The XSL writer was unable to find your XSLTProcessor; please check if you have installed the PHP XSL extension
調べてみると php5-xsl
というのが必要のようなので以下でインストール。
Terminal 1 $ sudo aptitude install php5-xsl
再度実行。
Terminal 1 2 3 4 5 6 7 8 phpdoc run -d . -t doc/ Initializing parser and collecting files .. OK Parsing files Parsing /home/nanigashi/phpdoc_test/doctest.php Storing structure.xml in "/home/nanigashi/phpdoc_test/doc/structure.xml" .. OK Initializing transformer .. OK Processing behaviours .. OK Executing transformations
無事生成されました。
生成された doc/index.html
をブラウザで開くと結構お洒落なドキュメントができます。
以上です。