vim で php をデバッグするには、php code_sniffer,php-md をインストールします。phpqa.vim
1: php code sniffer と php md
をインストールします。php コードスニファー
a: centos システム
#yum install php-pear
#yum install ImageMagick-devel
#pear install PHP_CodeSniffer
#pear channel-discover pear.phpmd.org
#pear channel-discover pear.pdepend.org
#pear install --alldeps phpmd/PHP_PMD
php.ini ファイルを変更し、extension=imagick.so を追加します
Debian システム
#apt-get install php-pear
#apt-get install php5-imagick imagemagick
背面は上記の Centos と同じです。
imagick 拡張機能を追加するために php.ini を変更する必要はありません。
2: vim 内
:!php -l % 現在の PHP ファイルの構文パラメータをチェックします
:phpcs これはコードスニファーです
:phpmd これは混乱検出機能であり、設定されていない場合は XML ルール ファイルが必要です
:phpcc これは、コード カバレッジを表示します。
が設定されていない場合は、XML ルール ファイルも必要です。
3: phpqa.vim をインストールします
https://github.com/rainysia/vimrc/commits/master
それをクローンして $~.vim に置きます。これはユーザー
の下にある .vim であることに注意してください。.vimrc に
を追加しますlet g:phpqa_codesniffer_args = "--standard=Zend" let g:phpqa_codesniffer_cmd = '/usr/bin/phpcs' let g:phpqa_codesniffer_autorun = 1 " default =1 on save let g:phpqa_messdetector_ruleset = '' let g:phpqa_messdetector_cmd = '/usr/bin/phpmd' let g:phpqa_messdetector_autorun = 0
#type phpcs
/usr/bin/phpcs
autorun = 1 が自動的にオンになり、
を保存するとプロンプトが自動的に実行されます。<?xml version="1.0"?> <ruleset name="Sebastian" xmlns="http://pmd.sf.net/ruleset/1.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://pmd.sf.net/ruleset/1.0.0 http://pmd.sf.net/ruleset_xml_schema.xsd" xsi:noNamespaceSchemaLocation="http://pmd.sf.net/ruleset_xml_schema.xsd"> <description>Sebastian Bergmann's ruleset</description> <rule ref="rulesets/codesize.xml/CyclomaticComplexity" /> <rule ref="rulesets/codesize.xml/NPathComplexity" /> <rule ref="rulesets/codesize.xml/ExcessiveClassComplexity" /> <rule ref="rulesets/codesize.xml/ExcessiveClassLength" /> <rule ref="rulesets/codesize.xml/ExcessiveMethodLength" /> <rule ref="rulesets/codesize.xml/ExcessiveParameterList" /> <rule ref="rulesets/design.xml/EvalExpression" /> <rule ref="rulesets/design.xml/ExitExpression" /> <rule ref="rulesets/design.xml/GotoStatement" /> <rule ref="rulesets/naming.xml/ConstructorWithNameAsEnclosingClass" /> <rule ref="rulesets/unusedcode.xml/UnusedFormalParameter" /> <rule ref="rulesets/unusedcode.xml/UnusedLocalVariable" /> <rule ref="rulesets/unusedcode.xml/UnusedPrivateField" /> <rule ref="rulesets/unusedcode.xml/UnusedPrivateMethod" /> </ruleset>
ここでテストを行い、vim を開いて と入力します。次に、w save を実行すると、php を閉じることができないというエラー メッセージが表示されます。構文要件が非常に厳しいようです。保存すると、エラー メッセージは表示されません。
<?php ?>
詳細については、シェルで -h を確認して使用できます
参考URL
http://phpmd.org/download/index.html phpmd をインストールします
http://pear.php.net/package/PHP_CodeSniffer/リダイレクトされた PHP コード スニファー
http://blog.csdn.net/xinhaozheng/article/details/3324796 PHP コード スニファーの使用
http://developer.51cto.com/art/201105/261292.htm PHP の混乱防止の使用
http://coreymaynard.com/blog/finding-what-stinks-and-cleaning-up-the-mess/ 関連する XML ステートメント
http://joncairns.com/2012/05/using-vim-as-a-php-ide/#comment-133 phpqa の記事
https://github.com/joonty/vim-phpqa まだ phpqa です