PHP“严格标准”消息是“错误”吗?

时间:2015-03-19 15:22:48

标签: php

关于禁用 PHP严格标准消息,有很多答案,但我真正想知道的是,“严格标准”消息是“错误”吗?

也许我是老上学,但我一直认为他们的错误是固定的 - 对我来说,正确编码的PHP脚本不应该产生任何错误,期限。但我看到很多答案说“他们不是错误”而只是“关闭错误报告”......但是如果他们不是<为什么你必须调整错误报告设置EM>错误

底线:“严格标准”消息是“错误”还是没有?某处有明确的答案吗?

2 个答案:

答案 0 :(得分:3)

从技术上讲,它们是通知,而不是错误。虽然关于代码问题的“通知”在某种程度上肯定会被视为错误,但只是PHP可以优雅地继续运行的错误。

我有两个大型应用程序。一个是大约10岁,充满了成千上万的严格通知。所以我禁用它们,改变所有代码是不合理的。

另一个应用程序是我们在Laravel 5上构建的一个相对较新的应用程序。无论如何我们都严格打开,并确保这个新应用程序符合严格的标准。

当然,修复它们是个好主意。它提高了代码的质量。只取决于你的情况和合理程度。

答案 1 :(得分:1)

简短的回答是:不,他们不是。

他们可以通过在php.ini中编写/取消注释E_STRICT来启用警告。根据{{​​3}}:

  

启用[E_STRICT]让PHP建议对代码进行更改   确保您的最佳互操作性和向前兼容性   代码。

因此,基本上,如果您希望PHP告诉您是否正在执行不符合其“严格标准”的操作,请激活E_STRICT。否则只需停用它即可。

有关可被视为不符合所述标准的更多信息,请查看PHP Docs。 (或者在SO中搜索其他人,我发现了更多。)