在PHP 5.4中,使用E_STRICT
和E_ALL
之间的区别是什么?
两者都一样吗?
答案 0 :(得分:1)
在PHP 5.4中,使用E_STRICT和E_ALL 之间有什么区别。
好:
5.4.0 E_STRICT became part of E_ALL.
5.3.0 E_DEPRECATED and E_USER_DEPRECATED introduced.
5.2.0 E_RECOVERABLE_ERROR introduced.
5.0.0 E_STRICT introduced (not part of E_ALL).
一个例子:
<?php
// Turn off all error reporting
error_reporting(0);
// Report simple running errors
error_reporting(E_ERROR | E_WARNING | E_PARSE);
// Reporting E_NOTICE can be good too (to report uninitialized
// variables or catch variable name misspellings ...)
error_reporting(E_ERROR | E_WARNING | E_PARSE | E_NOTICE);
// Report all errors except E_NOTICE
error_reporting(E_ALL & ~E_NOTICE);
// Report all PHP errors (see changelog)
error_reporting(E_ALL);
// Report all PHP errors
error_reporting(-1);
// Same as error_reporting(E_ALL);
ini_set('error_reporting', E_ALL);
?>
答案 1 :(得分:0)
SaleSchema.pre('save', function(next) {
// do stuff
next();
});
将显示所有级别的错误,PHP 5.0上引入的E_ALL
将显示严格编码标准/最佳实践的建议/通知。由于PHP E_STRICT
已包含PHP E_STRICT
。
基于PHP手册:
在PHP 5中,可以使用新的错误级别E_STRICT。在PHP 5.4.0之前,E_STRICT未包含在E_ALL中,因此您必须在PHP中明确启用此类错误级别&lt; 5.4.0。在开发期间启用E_STRICT有一些好处。 STRICT消息提供的建议有助于确保代码的最佳互操作性和向前兼容性。这些消息可能包括静态调用非静态方法,在使用的特征中定义的兼容类定义中的属性,以及PHP 5.3之前的一些不推荐的特性会发出E_STRICT错误,例如在实例化时通过引用分配对象。 / p>