CakePHP でエラー処理をさせるのに cakeError を使ってみました。
致命的なエラーのときに、メールを送信したりログを記録したりするのに使えるかと思います。

/app/error.php を作成

class AppError extends ErrorHandler
{
    function foo($params){
        // ここにエラー処理を書く

        // $params を展開
        extract($params);

        // view のディレクトリを指定
        $this->controller->viewPath='errors';

        $this->controller->set('message', $message);
        $this->controller->render('foo');
        exit();
    }
}

エラー用のビューを app/views/errors/foo.thtml に作成

呼び出し方は第1引数にメソッド名、第2引数にメソッドに渡すパラメータ

$params = array( array('message'=>'Error!') );
$this->cakeError('foo', $params);

$params の指定方法にちょっとだけ注意が必要です。

関連する投稿