gpt4 book ai didi

php - 使用 PHPStorm 的 phpcs 自定义规则集

转载 作者:可可西里 更新时间:2023-11-01 12:29:17 25 4
gpt4 key购买 nike

我试图以某种方式说服 phpcs 使用 Zend 编码指南,但允许我使用带下划线的变量(例如 $blub->foo_bar)。

谁能告诉我如何从 PHPStorm 中更改 phpcs 使用的规则集?

最佳答案

如果您想覆盖内置编码标准,则需要创建自定义编码标准。这只是创建一个包含标准定义的 XML 文件的问题。

在您的情况下,您需要整个 Zend 编码标准,但不需要关于变量名称的特定命名约定规则。因此,您将创建一个名为 mystandard.xml 的文件(将其命名为任何您想要的名称并将其放在任何您想要的位置)并放入以下内容:

<?xml version="1.0"?>
<ruleset name="MyStandard">
<description>My custom Zend coding standard.</description>
<rule ref="Zend">
<exclude name="Zend.NamingConventions.ValidVariableName"/>
</rule>
</ruleset>

您可以做很多事情来自定义您的标准,包括引入其他标准的检查、覆盖消息或将其中一些消息静音。您可以在此处查看文档:http://pear.php.net/manual/en/package.php.php-codesniffer.annotated-ruleset.php

上次我检查过,无论出于何种原因,PHPStorm 都不允许您使用自定义编码标准。通常,您只需键入标准名称作为 mystandard.xml 文件的完整路径。如果 PHPStorm 仍然不允许您这样做,那么欺骗它的唯一方法就是实际安装您的自定义标准。

请注意,这不是您通常需要做的事情,而且有点复杂。但如果您想尝试一下,您可以这样做:

  1. 找到 PHPCS 在您系统上的安装位置。如果您不知道它在哪里,请尝试 pear config-show | grep php_dir。 PHP_CodeSniffer 将位于该目录下。对我来说,PEAR 安装在 /usr/local/PEAR 中,所以 PHP_CodeSniffer 位于 /usr/local/PEAR/PHP/CodeSniffer
  2. /usr/local/PEAR/PHP/CodeSniffer/Standards 下创建一个名为 MyStandard 的新目录
  3. 将您的 mystandard.xml 文件直接放在那里,但将其重命名为 ruleset.xml

要确认您的标准已安装,请运行 phpcs -i。你应该看到

The installed coding standards are MySource, MyStandard, PEAR, PHPCS, Squiz and Zend

现在,PHPStorm 将(希望)显示 MyStandard 作为下拉列表中的一个选项。如果它没有出现,那么他们可能已经对列表进行了硬编码,并且如果不直接破解 Zend 编码标准,就没有任何方法可以让它工作。

希望这些信息能帮助您找到解决方案。如果没有,您始终可以使用自定义标准在命令行上直接运行 PHPCS:

phpcs --standard=/path/to/mystandard.xml /path/to/code

关于php - 使用 PHPStorm 的 phpcs 自定义规则集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10585274/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com