initializeでfalseが返されたら

2006/04/07 | mojavi2

mojaviでinitializeメソッドを使用して初期化することがよくある(例えばデータベースへの接続処理とか)。当然initializeに失敗した際のことも考えないといけないけれど、デフォルトではinitializeでfalseを返すと、画面には何も表示されない。当然エラーメッセージをechoした後falseを返したりするけれど、それでも所詮は味気ないメッセージが表示されるだけ。
やはりエラー画面でも多少デザインテイストを考えたいところ。これはmojavi-all-classes.phpで以下の部分を修正するとよさそうな感じ。

ExecutionFilterクラス内のexecute関数で、以下のように記述されている箇所に注目。
if ($action->initialize($controller, $request, $user))
{
 (中略・いろんな処理が書かれているところ)
}

ここで初期化処理をしているみたいなんだけど、if文のelseに相当するところがない。つまりtrueを返せば処理をするけどfalseを返すと「何にもしません」ということのように見える。きっとここでelse節を書き足せばいいはずだと思う。
まだ検証してないので確実なことはいえないけれど、あとで検証することにしようっと。

コメントを残す


守谷市(まちの情報ポータル) 無料アンケートレンタルjpForm.net