编程语言
首页 > 编程语言> > 修改phpcs的PEAR标准

修改phpcs的PEAR标准

作者:互联网

我想对我们的phpcs验证的PEAR标准进行一些小改动.目前,PEAR要求你写下这样的else语句:

} else {

我们想写这样的:

}
else {

我怎样才能做出这个改变?

解决方法:

唯一的方法是使用ruleset.xml文件编写自己的编码标准.它需要导入整个PEAR编码标准,但不包括执行此检查的特定嗅探.这个位可以用单个XML文件完成.

但是没有内置的嗅探强制执行您正在寻找的其他语法类型.因此,要强制执行此操作,您需要编写自定义嗅探器,这更复杂,因为您还必须将其存储在某处.

如果您想从尝试简单的自定义编码标准开始,请创建一个名为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

在没有测试的情况下,我假设您要更改}其他{EOL’,以} EOLelse {EOL’,看看是否有效.

标签:php,pear,codesniffer
来源: https://codeday.me/bug/20190517/1123796.html