gdrocket 发表于 2017-3-22 08:44:07

在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 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 输入<?php ?> 然后:w保存,提示错误,说php不能关闭..看来语法要求很严格. 去掉?> 然后保存就没错误提示了.

<?php
?>

  

  


  具体的可以在shell里面 -h 查看使用
  参考网址
  http://phpmd.org/download/index.html安装phpmd

  http://pear.php.net/package/PHP_CodeSniffer/redirectedphp code sniffer

  http://blog.csdn.net/xinhaozheng/article/details/3324796php code sniffer的使用

  http://developer.iyunv.com/art/201105/261292.htmphp 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-133phpqa的文章

  https://github.com/joonty/vim-phpqa还是phpqa的

  
页: [1]
查看完整版本: 在vim中调试php, 安装php code_sniffer,php-md. phpqa.vim