如何忽略行长PHP_代码嗅探器
我一直在jenkins使用PHP_CodeSniffer,我的build.xml是为PHPC配置的,如下所示如何忽略行长PHP_代码嗅探器,php,jenkins,continuous-integration,pear,codesniffer,Php,Jenkins,Continuous Integration,Pear,Codesniffer,我一直在jenkins使用PHP_CodeSniffer,我的build.xml是为PHPC配置的,如下所示 <target name="phpcs"> <exec executable="phpcs"> <arg line="--report=checkstyle --report-file=${basedir}/build/logs/checkstyle.xml --standard=Zend ${source}"/> &l
<target name="phpcs">
<exec executable="phpcs">
<arg line="--report=checkstyle --report-file=${basedir}/build/logs/checkstyle.xml --standard=Zend ${source}"/>
</exec>
</target>
我怎么能忽略测线长度警告?您可以创建自己的标准。Zend one非常简单(在使用PEAR安装Debian后,在我的Debian安装中位于
/usr/share/php/php/CodeSniffer/Standards/Zend/ruleset.xml
)。在此基础上创建另一个,但忽略行长度位:
<?xml version="1.0"?>
<ruleset name="Custom">
<description>Zend, but without linelength check.</description>
<rule ref="Zend">
<exclude name="Generic.Files.LineLength"/>
</rule>
</ruleset>
locate PEAR/ruleset.xml
或sudo find/-name“ruleset.xml”
请注意,phpc的默认编码标准是PEAR标准。因此,您需要在以下位置编辑ruleset.xml:CodeSniffer/Standards/PEAR/ruleset.xml忽略消息行超过x个字符的另一种方法是使用
--exclude
标志排除规则
vendor/bin/phpcs --standard=PSR2 --exclude=Generic.Files.LineLength app/
要查找要排除的规则名称,请在以下目录中查找相应的规则集:
vendor/squizlabs/php\u codesniffer/src/Standards//ruleset.xml
规则名称将位于ref节点中:
<rule ref="Generic.Files.LineLength">
<properties>
<property name="lineLimit" value="120"/>
<property name="absoluteLineLimit" value="0"/>
</properties>
</rule>
它比创建单独的规则集更快,也不那么麻烦。如果您不想每次都用参数键入整个命令
--standard=PSR2--exclude=Generic.Files.LineLength app/
,您可以在主目录中创建文件phpcs.xml
,并覆盖规则设置
<?xml version="1.0"?>
<ruleset name="PHP_CodeSniffer">
<rule ref="PSR2"> <!-- ruleset standard -->
<properties>
<property name="lineLimit" value="150"/> <!-- maximum line length -->
</properties>
</rule>
<file>app</file> <!-- directory you want to analyze -->
<arg name="encoding" value="utf-8"/>
</ruleset>
谢谢,这就是我要找的!你好,Wrikken,你知道我在哪里可以找到编辑规则的文件吗?Thanks@DanJ.:如上所述,不要编辑现有规则,扩展您喜欢的规则集并重写一些规则。如果您真的想访问该文件:视情况而定,它们通常在
/usr/share/php/
中的某个地方徘徊,如答案所示。或者您可以:src/Migrations
示例:Hi dextervip。您是否使用Jenkins插件发布phpcs结果?我想知道这是如何在詹金斯建立的。干杯ns@nonshatter我一直在使用puglin发布我的结果。它工作得很好,只需在项目中安装并启用它,链接到xml文件。谢谢@dextervip,我会检查一下。我昨天刚用“checkstyle”插件做了一个设置。它提供了一些很好的报告和一些趋势图等。更多信息请关注:
<rule ref="Generic.Files.LineLength">
<properties>
<property name="lineLimit" value="120"/>
<property name="absoluteLineLimit" value="0"/>
</properties>
</rule>
<?xml version="1.0"?>
<ruleset name="PHP_CodeSniffer">
<rule ref="PSR2"> <!-- ruleset standard -->
<properties>
<property name="lineLimit" value="150"/> <!-- maximum line length -->
</properties>
</rule>
<file>app</file> <!-- directory you want to analyze -->
<arg name="encoding" value="utf-8"/>
</ruleset>
vendor/bin/phpcs