1:安装php code sniffer 和 php md php code sniffer 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
1:安装php code sniffer 和 php md
php code sniffer
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的一样,
只是不需要修改php.ini 加入imagick 扩展.
2:vim 里面
:!php -l % 这个是检查当前php文件语法参数
:phpcs 这个就是code sniffer了
:phpmd 这个是mess detector , 需要一个XML规则文件如果没有设置
:phpcc 这个显示code coverage. 也需要一个XML规则文件如果没有设置
3:安装phpqa.vim
https://github.com/rainysia/vimrc/commits/master
去clone下来,放到$~.vim里面, 注意是user下面的.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
其中cmd 这两个是上面第一步安装后 type出来的路径,
2013-10-31 更新
参数里面的 --standard=Zend 意思是codesniffer采用Zend的编码风格来效验。 你可以自定义一些效验规则, 这个规则在debian里面
/usr/share/php/PHP/CodeSniffer/Standards/
里面,你可以把自定义的放进去。然后把
let g:phpqa_codesniffer_args = "--standard=Zend"
改为
let g:phpqa_codesniffer_args = "--standard=自定义的"
就可以使用自定义的代码风格效验了.
参数参考
http://pear.php.net/manual/en/package.php.php-codesniffer.config-options.php
#type phpcs
/usr/bin/phpcs
autorun = 1是自动开启 ,当你保存的时候就会自动运行提示了
把下面的内容保存为phpmd.xml ,保存在vim文件里面,然后打开任意的php文件,保存的时候会提示让你输入phpmd的文件所在,填你刚才保存的路径和phpmd.xml 然后就可以了
<?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> <rule ref="rulesets/codesize.xml/NPathComplexity"></rule> <rule ref="rulesets/codesize.xml/ExcessiveClassComplexity"></rule> <rule ref="rulesets/codesize.xml/ExcessiveClassLength"></rule> <rule ref="rulesets/codesize.xml/ExcessiveMethodLength"></rule> <rule ref="rulesets/codesize.xml/ExcessiveParameterList"></rule> <rule ref="rulesets/design.xml/EvalExpression"></rule> <rule ref="rulesets/design.xml/ExitExpression"></rule> <rule ref="rulesets/design.xml/GotoStatement"></rule> <rule ref="rulesets/naming.xml/ConstructorWithNameAsEnclosingClass"></rule> <rule ref="rulesets/unusedcode.xml/UnusedFormalParameter"></rule> <rule ref="rulesets/unusedcode.xml/UnusedLocalVariable"></rule> <rule ref="rulesets/unusedcode.xml/UnusedPrivateField"></rule> <rule ref="rulesets/unusedcode.xml/UnusedPrivateMethod"></rule> </ruleset>
现在做下测试,打开vim 输入<?php ?> 然后:w保存,提示错误,说php不能关闭..看来语法要求很严格. 去掉?> 然后保存就没错误提示了.
<?php ?>
具体的可以在shell里面 -h 查看使用
参考网址
http://phpmd.org/download/index.html 安装phpmd
http://pear.php.net/package/PHP_CodeSniffer/redirected php code sniffer
http://blog.csdn.net/xinhaozheng/article/details/3324796 php code sniffer的使用
http://developer.51cto.com/art/201105/261292.htm php mess detor的使用
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的

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

SublimeText3 Linux new version
SublimeText3 Linux latest version

Safe Exam Browser
Safe Exam Browser is a secure browser environment for taking online exams securely. This software turns any computer into a secure workstation. It controls access to any utility and prevents students from using unauthorized resources.

VSCode Windows 64-bit Download
A free and powerful IDE editor launched by Microsoft

PhpStorm Mac version
The latest (2018.2.1) professional PHP integrated development tool

MantisBT
Mantis is an easy-to-deploy web-based defect tracking tool designed to aid in product defect tracking. It requires PHP, MySQL and a web server. Check out our demo and hosting services.
