我想为我们的 phpcs 验证对 PEAR 标准做一个小的改动。目前 PEAR 要求您编写这样的 else 语句:
} else {
我们想这样写它们:
}
else {
我该如何进行此更改?
我想为我们的 phpcs 验证对 PEAR 标准做一个小的改动。目前 PEAR 要求您编写这样的 else 语句:
} else {
我们想这样写它们:
}
else {
我该如何进行此更改?
这样做的唯一方法是使用 ruleset.xml 文件编写您自己的编码标准。它需要导入整个 PEAR 编码标准,但排除执行此检查的特定嗅探。这一点可以用单个 XML 文件来完成。
但是没有内置的嗅探器可以强制执行else
您正在寻找的语法类型。因此,为了强制执行,您需要编写一个自定义嗅探,这更复杂,因为您还必须将它存储在某个地方。
如果您想从尝试简单的自定义编码标准开始,请创建一个名为的文件ruleset.xml
并将其作为内容:
<?xml version="1.0"?>
<ruleset name="MyStandard">
<description>My custom coding standard.</description>
<rule ref="PEAR">
<exclude name="PEAR.ControlStructures.ControlSignature"/>
</rule>
</ruleset>
然后像这样运行 PHP_CodeSniffer:
phpcs --standard=/path/to/ruleset.xml /path/to/code
这将根据 PEAR 编码标准检查您的代码,但不包括对控制结构的特定检查。如果这就是你所需要的,你可以停在那里。如果您有一个团队想要运行此自定义标准,只需将文件提供给他们,他们也可以使用它。
这里有关于 ruleset.xml 格式的更多信息:https ://github.com/squizlabs/PHP_CodeSniffer/wiki/Annotated-ruleset.xml
如果您想继续编写自定义嗅探,最好从基本教程开始:http: //pear.php.net/manual/en/package.php.php-codesniffer.coding-standard-tutorial。 php
这将解释什么是编码标准。然后,您需要创建自己的嗅探器,它只是 PEAR 的一个副本,对您控制结构的方式稍作更改。PEAR 嗅探在这里:https ://github.com/squizlabs/PHP_CodeSniffer/blob/master/CodeSniffer/Standards/PEAR/Sniffs/ControlStructures/ControlSignatureSniff.php
未经测试,我假设您想更改} else {EOL',
为}EOLelse {EOL',
并查看是否有效。