在我的团队中,我们使用codesniffer为Symfony应用程序强制执行编码风格,并且刚刚意识到没有扩展名的文件不会被检查,即使我们明确使用该文件作为参数。正如在此githubissue中所讨论的那样,这是设计使然.这意味着像bin/console这样的文件没有得到检查,即使它们是有效的PHP文件,并且--extensions参数不接受空参数。有没有办法让CodeSniffer也检查这些文件? 最佳答案 来自文档忽略特定文件的文件扩展名是PHP_CodeSniffer的一项功能,也是检查没有扩展名的文件的唯一方法。如果检查整个目
我正在寻找PHPCodeSniffer规则来限制每个函数/方法的最大代码行数。functionsomething($b){//somecommentthatshouldbeignoredinthecount$a=12;$value=sqrt($a*$b);return$value;}我希望将上述函数算作有5行代码(不包括空行的注释)。 最佳答案 我认为PHPCodeSniffer(phpcs)没有“代码行”的标准规则,我能想到的就是使用另一个度量标准,如McCabeCyclomaticComplexity(这包含在名为Generic
在PHP中,静态方法既可以在静态方法中使用,也可以在非静态方法中使用,非静态方法只能在非静态方法中使用。这就是静态调用动态方法会生成E_STRICT错误的原因。例如:bar();//Staticcallonanon-staticmethod//PHPError"Strictstandards:Non-staticmethodshouldnotbecalledstatically"//ERRORNOTDETECTEDBYPHPSTORM!echoExample::foo();最后一行将生成此PHP错误(这是逻辑):我目前正在开发一个大型PHP应用程序,该应用程序在某些PHP文件中静态调用
我一直在尝试在Symfony项目上使用PHP_CodeSniffer,但它通常会引发Symfony社区通常不会遵循的警告(比如注释参数标签或不对函数文档中的参数和返回进行分组)我想知道Symfony是否有任何官方或非官方但维护良好的规则集我找到了这个:https://github.com/djoos/Symfony2-coding-standard看起来不错,但是好久没更新了 最佳答案 您可以使用friendsofphp/php-cs-fixer文档在http://cs.sensiolabs.org/中
我正在处理一个专有的遗留代码库,一些变量是驼峰式的,而另一些是蛇形的。我想清理并仅强制执行驼峰变量名,但我似乎无法找到它的嗅探。这是我的自定义规则集的内容。Theruleset.xmlstandardcontains68sniffsGeneric(22sniffs)-------------------Generic.Classes.DuplicateClassNameGeneric.CodeAnalysis.ForLoopShouldBeWhileLoopGeneric.CodeAnalysis.UnconditionalIfStatementGeneric.CodeAnalysis
您能推荐一些将PHPCodeSnifferXML报告转换为HTML页面的方法吗?我想我可能需要一些XSLT翻译……在此先感谢您的建议。 最佳答案 几天前,我在我的博客上发布了XSLT样式表:http://phpdojo.blogspot.com/2010/12/converting-phpcodesniffer-xml-report.html包括新的报告类型:xsl。 关于php-如何将PHPCodeSnifferXML报告转换为HTML?,我们在StackOverflow上找到一个类似
我正在努力将PHPCS实现到我的构建脚本中,并相对轻松地解决了所有错误和警告(以及来自SO:)的一点帮助)。但是,我不明白为什么我仍然收到错误消息,指出该类缺少文件、类和函数文档注释。----------------------------------------------------------------------FOUND7ERRORSAFFECTING7LINES----------------------------------------------------------------------2|ERROR|Missingfiledoccomment28|ERROR
我已经用php代码跟踪了html标记:isOnline()):?>">Logout当我运行代码嗅探器时,出现以下错误:我试图在htmlView中找到关于php构造的任何标准或描述,但一无所获。也许,有人知道html中的if和foreach指令应该怎么看?谢谢。 最佳答案 我解决了我的问题,但代码看起来不太好:isOnline()):?>">Logout因此,我决定使用@codingStandardsIgnoreFile注释将View文件添加到CodeSniffer忽略列表中。现在,需要手动检查代码风格,但代码看起来好多了。
我已经从Editor>CodeStyle>PHP将我的编辑器代码样式设置为PredefinedStyle>PSR1/PSR2。我还安装并配置了PHPCodeSniffer和PHPMessDetector。每当我使用CTRL+ALT+L格式化代码时,我都会遇到以下问题:这是为什么呢?原始代码看起来像(我认为不是很有帮助,但无论如何它是):publicfunctionmyTestFunction(){$is_valid=true;if($this->manual_value&&!$this->_InputValidator->isValidString($this->manual_valu
当我尝试在PHPStorm(10.0.3)中打开文件时收到以下消息。phpcs:PHPFatalerror:CalltoundefinedmethodPHP_CodeSniffer_File::recordMetric()in/usr/share/php/PHP/CodeSniffer/Standards/PSR2/Sniffs/Files/ClosingTagSniff.phponline91有人知道这是什么吗? 最佳答案 升级CodeSniffer为我修复了这个错误。我有一个类似的错误,发现我使用的是旧版本(1.5)的代码嗅探器