我正在使用PHPStorm开发一个WordPress项目。为了美化我的代码,我下载了以下WP的构建规则,并将它们放在我的项目文件夹中的CodeSniffer目录中:https://github.com/mrchrisadams/WordPress-Coding-Standards
现在,当我将PHPStorm设置为使用ruleset.xml时,我得到以下错误:
PHP Code Sniffer
phpcs: PHP Fatal error: Cannot redeclare class WordPress_Sniffs_Strings_DoubleQuoteUsageSniff in /var/www/projectname/build/CodeSniffer/Sniffs/Strings/DoubleQuoteUsageSniff.php on line 31
PHP Stack trace:
PHP 1. {main}() /usr/bin/phpcs:0
PHP 2. PHP_CodeSniffer_CLI->process() /usr/bin/phpcs:37
PHP 3. PHP_CodeSniffer->process() /usr/share/php/PHP/CodeSniffer/CLI.php:561
PHP 4. PHP_CodeSniffer->populateTokenListeners() /usr/share/phpPHP/CodeSniffer.php:458
PHP 5. PHP_CodeSniffer::autoload() /usr/share/php/PHP/CodeSniffer.php:0我还在做另一个基于Drupal的项目(不是同时),它有自己的ruleset.xml --它工作起来没有任何问题。
有谁知道这类问题吗?
发布于 2014-03-03 20:16:36
此错误与PhpStorm无关,是由PHP_CodeSniffer本身生成的。
当您的嗅探类没有正确命名时,它就会出现。它们必须严格遵循嗅探的目录结构和文件。
如果您的类名为WordPress_Sniffs_Strings_DoubleQuoteUsageSniff
它应该位于: /Standards/WordPress/Sniffs/Strings/DoubleQuoteUsageSniff.php
发布于 2013-05-08 14:32:48
您自己的规则集似乎包含此规则(WordPress字符串DoubleQuoteUsageSniff )两次,这可能会导致您的规则集中止。
我建议你检查一下你的ruleset.xml,去掉这两个嗅探中的一个。这可能是由于先包含另一个规则集造成的。
发布于 2014-01-04 21:09:59
还要确保包含嗅探的文件夹与ruleset.xml中指定的名称相同。
例如,如果您的ruleset.xml说:
<ruleset name="Joomla">或
<ruleset name="Wordpress">包含所有嗅探器的文件夹可以命名为:
/php/pear/PHP/CodeSniffer/Standards/Joomla/... <= inside you will have ruleset.xml and Sniffs folder或
/php/pear/PHP/CodeSniffer/Standards/Wordpress/... <= inside you will have ruleset.xml and Sniffs folderhttps://stackoverflow.com/questions/14858172
复制相似问题