我创建了一个从CErrorHandler扩展的自定义错误处理程序类(CMyErrorHandler)。
但是当我将config / main.php中的errorHandler组件的类配置为CMyErrorHandler时,Yii似乎仍在使用旧的CErrorHandler类。
'errorHandler'=>array(
'errorAction'=>'site/error',
'class' => 'application.components.CMyErrorHandler',
),
如何设法使用自定义错误处理程序?谢谢!
答案 0 :(得分:0)
您是否已经验证CMyErrorHandler
是否正确延长CErrorHandler
?
也许此链接可以为您提供帮助:view_findpost_ p _155043“> http://www.yiiframework.com/forum/index.php/topic/32160-custom-error-logging/page_ 视图 _findpost_ p 的_155043
答案 1 :(得分:0)
我找到了问题的根源。我无法扩展CErrorHandler并只覆盖我需要的两个方法(handleError和handleException),因为这些方法使用一个私有变量un CErrorHandle,这在扩展类CMyErrorHandle中是不可访问的。我相信这是由于Yii的CErrorHandle课程设计不好(尽管我必须说我非常喜欢这个框架)。因此,我选择复制粘贴整个类,并在两种方法中进行所需的更改。在这些之后,一切都按预期工作。