Home  >  Article  >  Backend Development  >  在vim中调试php, 装配php code_sniffer,php-md. phpqa.vim

在vim中调试php, 装配php code_sniffer,php-md. phpqa.vim

WBOY
WBOYOriginal
2016-06-13 12:49:45867browse

在vim中调试php, 安装php code_sniffer,php-md. phpqa.vim

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出来的路径, 

#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>
  <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的


Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn