Cakephp2 - Ovrride HttpException与自定义类

时间:2016-03-26 09:44:42

标签: cakephp cakephp-2.0 cakephp-2.3

CakePhp异常的默认行为是可以传递消息,并且该消息显示在名称和消息键上。我想扩展此功能,并在抛出异常时显示消息和名称键的不同值。此外,我想不时提供一组自定义字段。

为了实现这一点,我在cakephp中创建了一个自定义ExceptionRenderer,它在抛出cakeexception并传递数组时工作正常,但是如果我将一个数组传递给继承了例如NotFoundException的HTTPException,则会抛出错误。

为了实现这一点,我想覆盖cakephp具有的默认HTTPException类,但我无法这样做。我想知道怎么做。

1 个答案:

答案 0 :(得分:1)

嗯..这有点棘手......

您可以在App目录中创建一个名为Error。

的文件夹

将此file复制到其中,然后在bootstrap.php内替换

require CAKE . 'Error' . DS . 'exceptions.php';

require APP . DS . 'Error' . DS . 'exceptions.php';

然后您可以按照自己喜欢的方式开始更改例外。

这可能是可行的,但可能会产生一些副作用。例如,如果在存储库上更新了原始文件,则可能必须手动更新文件。此外,您必须将更改限制为异常类,因为您不知道这些类可能在核心内部使用的位置,您可能会制造一些东西。

主要是不要更改签名。