CakePHPで本番環境だけエラー時の処理を変える方法

CakePHP(1.1)ではapp/error.phpにAppErrorクラスを置くとエラーハンドリングを自前のものに変えられます。

開発環境でのみ標準のエラー処理を行い、本番環境では自前のエラー処理を行う例を以下に用意しました。

DEBUGの値が「1以上」であれば標準のエラー処理を行い「0」の場合はドキュメントルートへリダイレクトします。

<?php
// app/error.php
class AppError extends ErrorHandler {
function error($params) {
if (DEBUG) return parent::error($params);
$this->controller =& new AppController();
$this->controller->redirect( "/", 301 );
}
}
?>

継承しているErrorHandlerクラスはcake/libs/error.phpで定義されていますので、目を通しておくとよいですよ。

コメント / トラックバック

コメントは受け付けていません。