MVC での例外導入Zend Framework の MVC コンポーネントは、 フロントコントローラを使用しています。 つまり、あるサイトに対するすべてのリクエストを ひとつのエントリポイントで処理するということです。その結果、 すべての例外は最終的にフロントコントローラに到達することになります。 開発者は、例外をここでまとめて処理できます。 しかし、例外のメッセージやバックトレースの中には、 システムの重要な情報が含まれていることがあります。 たとえば SQL 文の内容やファイルの位置といった情報です。 あなたのサイトを守るため、デフォルトでは Zend_Controller_Front がすべての例外を捕捉し、 それをレスポンスオブジェクトに登録するようになっています。 また、レスポンスオブジェクトは、 デフォルトではそれらの例外メッセージを表示しません。 例外の処理MVC コンポーネント内で例外を処理するための仕組みが組み込まれています。
MVC で遭遇するであろう例外各 MVC コンポーネント群 -- リクエスト、ルータ、ディスパッチャ、 アクションコントローラそしてレスポンスオブジェクト -- はそれぞれ例外をスローします。 条件によっては上書きされる例外もありますし、 中には開発者がアプリケーションの構造を見直さなければならないような例外もあるでしょう。 いくつか例を示します。
|