关于TP5一个很恶心人的功能

浏览:13530 发布日期:2016/04/19 分类:ThinkPHP5专区 关键字: thinkPHP5 ErrorException


首先说一下PHP的错误级别,通常情况下PHP程序只有在发生 E_ERROR 致命的错误时才会导致程序终止运行,而发生 E_WARNING 和 E_NOTICE 错误时是不会导致程序终止的,只是给出一些提示警告,程序会继续向下运行;例如我在某个地方用了一个未声明的变量(实际上PHP也不需要非得声明变量,直接用就行),程序会提示 Use undefined variable,然后继续向下运行并不会终止。可是TP5 就恶心了,E_WARNING 和 E_NOTICE 也被认为是系统错误而程序终止了,页面显示一堆的Debug信息,关键是设置了 error_reporting(0) 也关闭了 APP_DEBUG 还是这样,这个异常捕获不能关闭?
问题就来了,由于敲代码很随性已经习惯了,不用去管变量类型,不用声明变量就直接使用。但是现在TP5 程序的检查要求就是必须要先声明变量然后再使用,否则就系统异常直接跳出了;或者得每次使用变量之前都用 isset() 函数判断一下是否已经 defined,如果 undefined 就做一次声明。这也就算了,还可以容忍,大不了就是改改敲代码的习惯,思维更严谨一些。受不了的是,老版本的 TP 框架升级上来的项目根本就用不了了,到处都是 Use undefined variable 的系统错误提示,这种 ErrorException 又没法关闭,我只想说真的受不了了。本身升级就不容易,好不容易升级上来的又用不了只能弃用,不知道大家有没有遇到这个问题?
这个功能有没有什么配置信息能设置得灵活一点的?或者我想直接把这个关了在那关?
最佳答案
评论( 相关
后面还有条评论,点击查看>>