PHPCS ruleset.xml "Checked in xxx"
PHPCS ruleset.xml "Checked in xxx"
当我以 PSR2 ruleset.xml 为例时,我看到很多评论块说 <!-- checked in Files/SideEffectsSniff -->
这里有一小段来自:
https://github.com/squizlabs/PHP_CodeSniffer/blob/master/CodeSniffer/Standards/PSR2/ruleset.xml
<!-- PHP code MUST use only UTF-8 without BOM. -->
<rule ref="Generic.Files.ByteOrderMark"/>
<!-- 2.3. Side Effects -->
<!-- A file SHOULD declare new symbols (classes, functions, constants, etc.) and cause no other side effects, or it SHOULD execute logic with side effects, but SHOULD NOT do both. -->
<!-- checked in Files/SideEffectsSniff -->
文件的其余部分没有类似于 Files.SideEffectsSniff
的规则。
我的问题是,是否检查了副作用?如果是,是什么规则造成的?
感谢您的澄清。
简短回答:是的,副作用由 PSR1 和 PSR2 检查,负责嗅探的是这个:https://github.com/squizlabs/PHP_CodeSniffer/blob/master/CodeSniffer/Standards/PSR1/Sniffs/Files/SideEffectsSniff.php 将其导入您自己的标准的代码是 PSR1.Files.SideEffects
。
首先请注意,您发布的规则集片段实际上来自 PSR1,但 PSR2 在其 ruleset.xml 文件的顶部导入了整个 PSR1 标准,因此在 运行 两个标准。
当我编写那些 ruleset.xml 文件时,我使用 <rule>
标记来显示我何时从其他标准导入嗅探,并使用注释来显示何时嗅探包含在标准本身中。
在 PHPCS 中,您可以使用代码导入嗅探,或将 类 包含在与 ruleset.xml 文件相同目录中的 Sniffs
文件夹中。 PSR1 和 PSR2 都有自己的 sniff 类,这些都是自动导入的,这就是为什么我不需要在规则集中使用 <rule>
标签。
当我以 PSR2 ruleset.xml 为例时,我看到很多评论块说 <!-- checked in Files/SideEffectsSniff -->
这里有一小段来自: https://github.com/squizlabs/PHP_CodeSniffer/blob/master/CodeSniffer/Standards/PSR2/ruleset.xml
<!-- PHP code MUST use only UTF-8 without BOM. -->
<rule ref="Generic.Files.ByteOrderMark"/>
<!-- 2.3. Side Effects -->
<!-- A file SHOULD declare new symbols (classes, functions, constants, etc.) and cause no other side effects, or it SHOULD execute logic with side effects, but SHOULD NOT do both. -->
<!-- checked in Files/SideEffectsSniff -->
文件的其余部分没有类似于 Files.SideEffectsSniff
的规则。
我的问题是,是否检查了副作用?如果是,是什么规则造成的?
感谢您的澄清。
简短回答:是的,副作用由 PSR1 和 PSR2 检查,负责嗅探的是这个:https://github.com/squizlabs/PHP_CodeSniffer/blob/master/CodeSniffer/Standards/PSR1/Sniffs/Files/SideEffectsSniff.php 将其导入您自己的标准的代码是 PSR1.Files.SideEffects
。
首先请注意,您发布的规则集片段实际上来自 PSR1,但 PSR2 在其 ruleset.xml 文件的顶部导入了整个 PSR1 标准,因此在 运行 两个标准。
当我编写那些 ruleset.xml 文件时,我使用 <rule>
标记来显示我何时从其他标准导入嗅探,并使用注释来显示何时嗅探包含在标准本身中。
在 PHPCS 中,您可以使用代码导入嗅探,或将 类 包含在与 ruleset.xml 文件相同目录中的 Sniffs
文件夹中。 PSR1 和 PSR2 都有自己的 sniff 类,这些都是自动导入的,这就是为什么我不需要在规则集中使用 <rule>
标签。