エラーハンドリングについてはCakePHP Cookbook v2.x documentationで調べる事ができるけど、
これだと、和訳がない+自分でも試してみるついでにメモを残しておく。
エラーの設定
独自エラーハンドラ―を用意する
app/Lib以下にAppError.phpというファイルを作成。
とりあえず既存のエラーハンドリングの機能を持ってくるためにこんな感じで記述。
ErrorHandlerクラスにはhandleErrorメソッドの他にも、handleExceptionとhandleFatailErrorメソッドがあるけど、2.のところで設定するのがhandleErrorになるのでこれだけを持ってくる。
<?php App::uses ('ErrorHandler' , 'Error' ); class AppError extends ErrorHandler { public static function handleError($code, $description, $file = null, $line =null , $context = null) { echo ' 独自のhandleError <br />'; } }
2.Errorの設定を上書きする
app/Config/core.phpのエラー設定の部分を上書きする
Configure:: write('Error', array( 'handler' => 'ErrorHandler::handleError' , 'level' => E_ALL & ~E_DEPRECATED, 'trace' => true )); Configure:: write('Error.handler', 'AppError::handleError');
3.作成したエラーハンドラークラスを呼び出す
app/Config/bootstrap.phpに以下を追記
App::uses('AppError' , 'Lib');
これでユーザー独自のエラー設定が完了。
例外の設定も基本的にはエラーの設定と同じようにできるのだが、例外の追加とかAppErrorの設定とかまだうまく残せる自信がないのでこっちはまた次回に。