PHP Code Sniffer和驼峰帽

时间:2013-01-07 18:10:28

标签: php codesniffer

我刚刚开始使用Code Sniffer来清理我的代码。

我发现Code Sniffer将php的内置函数名称视为错误。例如:

if($mysqli->connect_error === true) {行上我收到一条消息:

变量“connect_error”不是有效的驼峰格式。

我选择使用Zend标准,因为它显示了很多清理点,并希望将来使用它。

所以问题是 - 你怎么做到这一点?   - 忽略这些错误   - 修复php代码嗅探器忽略php内置函数名称   - 使用其他标准?   - 其他什么?

感谢您的建议!

Andrius

2 个答案:

答案 0 :(得分:4)

这是由于Zend标准不完整且不经常更新。 PHP_CodeSniffer中的Zend标准实际上并不是一个完整的标准。这只是一些在Zend工作的人(很久以前)写的嗅觉集合。

如果您想开始清理代码,我建议您从PEAR或PSR2标准开始。 PEAR非常成熟,而PSR2非常新,但两者都可以帮助你获得干净利落的代码。 PEAR标准将有助于保持文档注释的一致性,而PSR2则不会,因此请记住这一点。这些都不会抱怨mysqli功能。

PHP_CodeSniffer也附带Squiz标准,但这非常严格。可能开始时太严格了。

您也可以通过混合所有标准的各个部分来创建自己的标准,但最好先从完整标准开始,这样您就可以了解所有检查的完成位置。

答案 1 :(得分:-1)

  你怎么回事? - 忽略这些错误 - 修复php代码嗅探器忽略php内置 -   在函数名称中 - 使用另一个标准? - 其他什么?

很棒的问题。

小心忽略错误,通常你也会忽略你想知道的事情。

我的建议是,在忽略任何错误报告之前,您需要更多地查看Code Sniffer文档并查看是否可以找到此设置。

另外,请记住,仅仅因为错误消息说明了一件事,它可能并不一定意味着它所说的内容。例如,当您收到类似“意外字符串”的错误时,通常意味着您忘记了;或其他内容。因此,请查看您的代码以确认没有任何语法错误。 (即@DavidHoude说得好:“$mysqli>connect_error === true”可能需要->而不是>