Lou*_*pax 5 php phpcodesniffer
在我的团队中,我们使用codesniffer来强制Symfony应用程序的编码风格,并且刚刚意识到没有扩展名的文件不会被检查,即使我们明确地使用该文件作为参数。正如本github 问题中讨论的那样,这是设计使然。
这意味着像bin/console这样的文件不会被检查,即使它们是有效的 PHP 文件,并且--extensions
参数不接受空参数。
有没有办法让 CodeSniffer 也检查这些文件?
我认为您可以指定*
为通配符扩展名。
如果这不起作用,它在文档中指出:
如果您要求 PHP_CodeSniffer 检查特定文件而不是整个目录,则指定文件的扩展名将被忽略。即使文件的扩展名无效或根本没有扩展名,也会检查该文件。在以下示例中,即使 --extensions 命令行参数指定仅应检查 .php 文件,PHP_CodeSniffer 仍将检查 main.inc 文件。检查特定文件时忽略扩展名
$ phpcs --extensions=php /path/to/code/main.inc
Run Code Online (Sandbox Code Playgroud)
因此,如果您明确检查没有扩展名的单个文件,它应该可以工作。
它还进一步指出:
忽略特定文件的文件扩展名是 PHP_CodeSniffer 的一项功能,也是检查没有扩展名的文件的唯一方法。如果您检查整个目录的文件,则所有不带扩展名的文件都将被忽略,因此您必须单独检查每个文件。
请参阅https://pear.php.net/manual/en/package.php.php-codesniffer.advanced-usage.php