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的

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

EditPlus versi Cina retak
Saiz kecil, penyerlahan sintaks, tidak menyokong fungsi gesaan kod

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SecLists
SecLists ialah rakan penguji keselamatan muktamad. Ia ialah koleksi pelbagai jenis senarai yang kerap digunakan semasa penilaian keselamatan, semuanya di satu tempat. SecLists membantu menjadikan ujian keselamatan lebih cekap dan produktif dengan menyediakan semua senarai yang mungkin diperlukan oleh penguji keselamatan dengan mudah. Jenis senarai termasuk nama pengguna, kata laluan, URL, muatan kabur, corak data sensitif, cangkerang web dan banyak lagi. Penguji hanya boleh menarik repositori ini ke mesin ujian baharu dan dia akan mempunyai akses kepada setiap jenis senarai yang dia perlukan.

MinGW - GNU Minimalis untuk Windows
Projek ini dalam proses untuk dipindahkan ke osdn.net/projects/mingw, anda boleh terus mengikuti kami di sana. MinGW: Port Windows asli bagi GNU Compiler Collection (GCC), perpustakaan import yang boleh diedarkan secara bebas dan fail pengepala untuk membina aplikasi Windows asli termasuk sambungan kepada masa jalan MSVC untuk menyokong fungsi C99. Semua perisian MinGW boleh dijalankan pada platform Windows 64-bit.

ZendStudio 13.5.1 Mac
Persekitaran pembangunan bersepadu PHP yang berkuasa