【问题标题】:symfony2 php codesniffer standard errorsymfony2 php代码嗅探器标准错误
【发布时间】:2013-10-15 04:36:46
【问题描述】:

我是 phpCodeSniffer 的新手,我正在尝试将其与 eclipse 集成。我在these instructions 之后从PEAR 下载了phpCodeSniffer,我还从Githubphp-cs-fixer 下载了Symfony2 标准。我按照所有说明进行操作,一切正常,但是当我尝试将嗅探器与 eclipse 一起使用时,出现以下错误:

/usr/bin/php -c /tmp/zend_debug/session7507717624755069136.tmp -d asp_tags=off -d short_open_tag=on /opt/eclipse/plugins/org.phpsrc.eclipse.pti.tools.codesniffer_1.3.0.R20111119000000/php/tools/phpcs.php --report=xml --standard=/usr/share/php/PHP/CodeSniffer/Standards/Symfony2 --tab-width=4 /var/www/siga-nuevo/src/Siga/UserBundle/Controller/UserController.php
PHP Fatal error:  Uncaught exception 'PHP_CodeSniffer_Exception' with message 'Referenced sniff Symfony2.Commenting.FunctionComment.MissingParamComment does not exist' in /opt/eclipse/plugins/org.phpsrc.eclipse.pti.library.pear_1.2.2.R20120127000000/php/library/PEAR/PHP/CodeSniffer.php:814
Stack trace:
0 /opt/eclipse/plugins/org.phpsrc.eclipse.pti.library.pear_1.2.2.R20120127000000/php/library/PEAR/PHP/CodeSniffer.php(730): PHP_CodeSniffer->_expandRulesetReference(Object(SimpleXMLElement))
1 /opt/eclipse/plugins/org.phpsrc.eclipse.pti.library.pear_1.2.2.R20120127000000/php/library/PEAR/PHP/CodeSniffer.php(623): PHP_CodeSniffer->getSniffFiles('/usr/share/php/...', 'Symfony2')
2 /opt/eclipse/plugins/org.phpsrc.eclipse.pti.library.pear_1.2.2.R20120127000000/php/library/PEAR/PHP/CodeSniffer.php(438): PHP_CodeSniffer->setTokenListeners('/usr/share/php/...', Array)
3 /opt/eclipse/plugins/org.phpsrc.eclipse.pti.library.pear_1.2.2.R20120127000000/php/library/PEAR/PHP/CodeSniffer/CLI.php(551): PHP_CodeSniffer->process(Array, '/usr/ in /opt/eclipse/plugins/org.phpsrc.eclipse.pti.library.pear_1.2.2.R20120127000000/php/library/PEAR/PHP/CodeSniffer.php on line 814

这是我的eclipse配置

【问题讨论】:

    标签: eclipse symfony codesniffer


    【解决方案1】:

    在您的情况下,OpenSky symfony2 标准似乎被破坏了。错误消息的相关部分是这个:

    Uncaught exception 'PHP_CodeSniffer_Exception' with message 'Referenced sniff Symfony2.Commenting.FunctionComment.MissingParamComment does not exist'
    

    因为 symfony 遵循所有当前的 PSR standards - 即 PSR-0PSR-1PSR-2PSR-3(其中 PSR-3 仅提供 monolog 尊重的记录器接口)。

    您也可以直接使用较新版本的 PHPCS 中包含的PSR-2 标准。

    PHPCS 中的 PSR-2 标准实现最近已更新 - 与那些旧的 symfony2 标准相反。这意味着无论如何实现应该更准确。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-01-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多