|
|
1
10
PHP 在解析时不会做太多的前向检查。 你所能做的最好的就是提高警告级别来报告你的错误,但是当你收到电子通知时,已经太迟了,而且还不可能强迫电子通知提前发生。 很多人都带着“错误报告E-Strict”标志,但它仍然具有追溯性警告,并且不会保护您免受像您发布的那样的错误代码的影响。 这个gem本周出现在php dev邮件列表中,我认为它只是您想要的工具。它更像是一个lint检查程序,但它为当前的lint检查php添加了范围。 PHP-Initialized Google Project 希望我们稍微注意一下,就可以在PHP本身中实现这种行为。所以把你的2美分放在php邮件列表/bug系统/feature请求上,看看我们是否能鼓励它的集成。 |
|
2
4
据我所知,没有办法让它失败,但是在E-U通知出错的情况下,您可以让它发出警告(好吧,通知是-)但仍然是一个可以搜索的字符串。 |
|
|
3
1
检查错误报告, http://php.net/manual/en/function.error-reporting.php 你想要的可能是严格的。只需记住,PHP没有名称空间,错误报告将成为全局的。如果您使用的是来自没有打开错误报告的开发人员的第三方库,那就太糟糕了。 |
|
|
4
0
我敢肯定,如果变量之前没有声明,它会产生一个错误。如果安装没有显示此类错误,请检查php.ini文件中的错误_reporting()级别。 |
|
|
5
0
您可以尝试使用错误报告级别,如下所示: http://us3.php.net/error_reporting 但我不确定它是否提到了非初始变量的用法,即使使用e_严格也是如此。 |
|
6
0
有类似的地方:在PHP中,您可以更改错误报告级别。在开发环境中将其设置为最大值是一种最佳实践。这样做: 添加php.ini:
或者,您可以将此添加到正在处理的文件的顶部:
这不会阻止代码运行,但缺少变量分配会在浏览器中显示一条非常清楚的错误消息。 |
|
|
7
0
如果您在文件上使用“分析代码”,或者在Zend Studio中使用项目,它将警告您任何未初始化的变量(这实际上有助于发现代码中很少使用的部分中潜伏着大量拼写错误的变量,而这些变量正等着导致很难检测到错误)。也许有人可以在php lint函数(php-l)中添加该功能,该函数目前只检查语法错误。 |