我有PHP代码嗅探器和三元运算符的问题。 我加了规则后检查空间和运营商之前PHP代码嗅探器中的三元运算符出错
<rule ref="Squiz.WhiteSpace.OperatorSpacing"/>
,现在我有错误的,如果简短的发言:
37 | ERROR | [x] Expected 1 space before "?"; newline found
38 | ERROR | [x] Expected 1 space before ":"; newline found
我的代码如下所示:
return ($this->get('router')->getContext()->getHttpPort() == 80)
? '//'.$this->get('router')->getContext()->getHost()
: '//'.$this->get('router')->getContext()->getHost().':'.$this->get('router')->getContext()->getHttpPort();
任何人都知道在哪里可以是问题吗?我可以粘贴整个规则集文件,但删除OperatorSpacing规则后,一切正常。
问候
好后,错误似乎不言自明,该系统每个操作员之前应有一个空间,却发现一个换行符。将它们替换为单个空格,它应该可以工作。 – roberto06
有关此功能的更多信息,请点击此处:https://github.com/squizlabs/PHP_CodeSniffer/issues/348 – roberto06
Squiz有标准,您必须遵循 – RiggsFolly