前回はページ作成に関わる命名規則とページへのアクセス、それに伴い「コントローラ名」「アクション名」の存在をつまびらかにしました。

命名規則は、内部で処理を自動化するための大いなるカラクリとなります。


1.「コントローラ名」が分れば、命名規則によりアクションコントローラのファイル名が特定できます。

2.そしてファイルを読み込みます。

3.そこにはファイル名と同名のクラス名がある規則なので、クラスのインスタンスが生成できます。

4.「アクション名」が分れば、命名規則によりインスタンスのメソッド(アクションメソッド)をコールできます。


上記の流れはリクエストを受け取った「フロントコントローラ」でdispatch()メソッドをコールした時に自動的に行われる内部処理で、その結果「アクション」へ処理を引き渡しているわけです。

リクエストされたURIから、呼び出すべきアクション先を決定することを『ルーティング』、アクションメソッドをコールすることを『ディスパッチ』と言います。


一応、MVCイメージをつかめるように簡単な画像を作ってみました。

そろそろホンキ出す-Zend Framework MVC図

全リクエストを「フロントコントローラ」(設定ではindex.php)に集め、
「アクションコントローラ」へ丸投げし、
必要に応じてデータ入出力を「モデル」に依頼し、
必要に応じてページ描画を「ビュー」に依頼し、
レスポンスを返します。


なんとなくMVC互いの役割分担、連携の一端が見えてきたような気がします。