2009-08-30 エラーコントローラが呼ばれない。(ついでにエラーハンドラーの操作
ZendFrameWorkでエラーコントローラを使おうとした時のお話し。
ZendFrameWorkのコントローラは初めからエラー処理が組み込まれてるから、ErrorControllerとerrorActionを作ってあげるだけで、本当なら終わりなのですが、このErrorControllerはデフォルトのモジュールの物が呼ばれる仕様なのに、実行中のモジュールの物が呼ばれると勘違いしてマニュアルを漁ってしまいました。
以上で終わりなので、後はてきとーにサンプルコード(for me)。
defaultモジュール以外のエラーコントローラを呼ぶ方法
$front = Zend_Controller_Front::getInstance(); $plugin = new Zend_Controller_Plugin_ErrorHandler(); $plugin->setErrorHandlerModule('nonedefault'); $front->registerPlugin($plugin);
よく忘れるのが、これ。ZendFFのプラグインはなんか最後にレジストしてあげないとダメなのね。
もちろん、「setErrorHandlerController()」や「setErrorHandlerAction()」を使ってアクションやコントローラの設定も可。
開発環境とかで、例外が発生した場合にエラー内容を表示させる設定にしてると、エラーコントローラは呼び出されないようなので気をつけましょう。
$front = Zend_Controller_Front::getInstance();
$front->throwExceptions(true);// 例外を出力 = エラーアクションを不使用
トラックバック - http://d.hatena.ne.jp/cvshin/20090830/1251600893
リンク元
- 20 http://www.google.co.jp/search?hl=ja&client=firefox-a&rls=org.mozilla:ja:official&hs=10c&num=30&q=mcrypt+複合化&btnG=検索&lr=lang_ja
- 10 http://www.google.co.jp/search?sourceid=navclient&hl=ja&ie=UTF-8&rlz=1T4SKPB_jaJP317JP234&q=sql+rank
- 7 http://www.google.co.jp/search?q=trac+プロジェクト+追加&lr=lang_ja&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:ja:official&client=firefox-a
- 6 http://www.google.co.jp/search?hl=ja&client=firefox-a&channel=s&rls=org.mozilla:ja:official&q=Zend DB+update+例外&btnG=検索&lr=
- 4 http://www.google.co.jp/search?client=firefox-a&rls=org.mozilla:ja:official&channel=s&hl=ja&source=hp&q=php+携帯メールでないかのチェック&lr=&btnG=Google+
- 4 http://www.google.co.jp/search?hl=ja&source=hp&q=trac+プロジェクト+追加&btnG=Google+検索&lr=&aq=1&oq=trac+プロジェクト
- 3 http://twitdelay.net/
- 3 http://twitter.com/shinjuku_pg
- 3 http://www.google.co.jp/search?hl=ja&q=携帯メールアドレス キャリア 正規表現&lr=
- 3 http://www.google.co.jp/search?hl=ja&source=hp&q=テーブルのコピー+sql JOIN&lr=&aq=1&oq=



