CakePHP 2.0でのエラー処理
前のエントリーでCakePHPの悪いところを指摘したので、良いところも書いておきます。
CakePHPのErrorHandlerの悪い部分を直してみる - basuke の日記
CakePHP 2.0ではエラー処理は完全に書き直されてますね。ObjectがcakeErrorを受け付けてましたが、メソッドがなくなり、ランタイムのエラーはちゃんとExceptionで処理するようになってます。
https://github.com/cakephp/cakephp/blob/2.0/lib/Cake/Error/exceptions.php
403に対応するForbiddenExceptionも新設されているようです。問題を起こしたい場合は、適当なExceptionをnewしてthrowすることになるようです。
また、Exceptionは単に情報だけを保持していて、それを処理するErrorHandlerクラスと、エラー結果を画面に表示するExceptionRendererクラスに処理が渡されます。いい仕事してますね。
https://github.com/cakephp/cakephp/tree/2.0/lib/Cake/Error
RendererはちゃんとConfigureで替えられるようになってます。期待通り。
viva 2.0.