今天在开发的时候,为了代码复用,“修改”页面跟 “新增” 页面都使用一个模板文件。刚开始开发的时候,没发觉有什么问题,等修改跟新增功能都开发结束后,再次打开新增页面的时候,发现提示Undefined index xxx !
嗯,很好!又是这个错误。当时自己做Laravel测试的时候,Laravel在没有属性的时候,也会报错!问题原因找到了,那要如何解决?
在网上找了一通,最后发现在think\Error 这个类中,有一个error_reporting(E_ALL); 那改成error_reporting(0);如何?
public static function register()
{
error_reporting(E_ALL);//就是要修改这个地方
set_error_handler([__CLASS__, 'appError']);
set_exception_handler([__CLASS__, 'appException']);
register_shutdown_function([__CLASS__, 'appShutdown']);
}
结果页面就完美加载。 // 关闭错误报告
error_reporting(0);
// 报告 runtime 错误
error_reporting(E_ERROR | E_WARNING | E_PARSE);
// 报告所有错误
error_reporting(E_ALL);
// 等同 error_reporting(E_ALL);
ini_set("error_reporting", E_ALL);
// 报告 E_NOTICE 之外的所有错误
error_reporting(E_ALL & ~E_NOTICE);
PS:这不是万全之策,尽量不要改!毕竟是框架底层的东西,破坏了这一处,可能影响其他的报错机制!