Yii在config / main.php中更改errorHandler的类

时间:2013-09-02 16:54:23

标签: php yii

我创建了一个从CErrorHandler扩展的自定义错误处理程序类(CMyErrorHandler)。

但是当我将config / main.php中的errorHandler组件的类配置为CMyErrorHandler时,Yii似乎仍在使用旧的CErrorHandler类。

    'errorHandler'=>array(
        'errorAction'=>'site/error',           
        'class' => 'application.components.CMyErrorHandler',
    ),

如何设法使用自定义错误处理程序?谢谢!

2 个答案:

答案 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课程设计不好(尽管我必须说我非常喜欢这个框架)。因此,我选择复制粘贴整个类,并在两种方法中进行所需的更改。在这些之后,一切都按预期工作。