首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Php与CodeSniffer的问题

Php与CodeSniffer的问题
EN

Stack Overflow用户
提问于 2013-12-15 20:10:41
回答 2查看 891关注 0票数 1

当我在我的终端开始这是我得到的..。

函数名"provjeri_datum“以包名作为前缀,但不以大写字母开头。

下面是我在php中的函数:

代码语言:javascript
复制
function provjeri_datum($date, $format = 'Y-m-d H:i:s') 
{
    $d = DateTime::createFromFormat($format, $date);
    return $d && $d->format($format) == $date;
}

我该怎么解决这个问题?我是否可以在不将Provjeri_datum更改为provjeri_datum的情况下修复这个问题?

EN

回答 2

Stack Overflow用户

发布于 2013-12-16 03:33:27

该检查是PEAR编码标准的一部分,这是PHP_CodeSniffer使用的默认标准。它正在执行的标准的一部分是:http://pear.php.net/manual/en/standards.naming.php (全局变量和函数)。

由于这是PEAR标准的一部分,删除此错误消息的唯一方法是创建您自己的自定义标准。要做到这一点,您可以创建一个规则集XML文件(任意称呼它,如mypear.xml),并将其设置为内容:

代码语言:javascript
复制
<?xml version="1.0"?>
<ruleset name="MyStandard">
 <description>My custom coding standard.</description>
 <rule ref="PEAR">
  <exclude name="PEAR.NamingConventions.ValidFunctionName.FunctionNoCapital" />
 </rule>
</ruleset>

此自定义标准包括整个PEAR编码标准,但不包括该特定消息。您可以通过将-s命令行参数添加到PHP_CodeSniffer (例如,phpcs -s /path/to/code)来查找消息代码。

然后像这样运行PHP_CodeSniffer:

代码语言:javascript
复制
phpcs --standard=/path/to/mypear.xml /path/to/code

您还可以使用自定义编码标准做更多的工作。有关更多选项,请参见文档:CodeSniffer/wiki/Annotated-ruleset.xml

如果您希望使用内置标准而不是创建自己的标准,那么切换PSR1或PSR2标准是一个不错的选择(PSR2有更多规则)。这些带有PHP_CodeSniffer的工具,所以您可以这样运行它们:

代码语言:javascript
复制
phpcs --standard=PSR2 /path/to/code

也可以将其设置为默认标准:

代码语言:javascript
复制
phpcs --config-set default_standard PSR2
phpcs /path/to/code
票数 2
EN

Stack Overflow用户

发布于 2021-08-10 09:03:48

这是个老问题,但对于使用phpcs的人来说,这个问题还是会出现的。

基本上,这是phpcs抱怨在普通函数名中使用下划线,而不是蛇案例。在这个例子中,将函数重命名为类似于provjeriDatum的东西应该会修复它。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20599217

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档