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で定義されていますので、目を通しておくとよいですよ。
コメント / トラックバック