前回はページ作成に関わる命名規則とページへのアクセス、それに伴い「コントローラ名」「アクション名」の存在をつまびらかにしました。
命名規則は、内部で処理を自動化するための大いなるカラクリとなります。
上記の流れはリクエストを受け取った「フロントコントローラ」でdispatch()メソッドをコールした時に自動的に行われる内部処理で、その結果「アクション」へ処理を引き渡しているわけです。
リクエストされたURIから、呼び出すべきアクション先を決定することを『ルーティング』、アクションメソッドをコールすることを『ディスパッチ』と言います。
一応、MVCイメージをつかめるように簡単な画像を作ってみました。
全リクエストを「フロントコントローラ」(設定ではindex.php)に集め、
「アクションコントローラ」へ丸投げし、
必要に応じてデータ入出力を「モデル」に依頼し、
必要に応じてページ描画を「ビュー」に依頼し、
レスポンスを返します。
なんとなくMVC互いの役割分担、連携の一端が見えてきたような気がします。
命名規則は、内部で処理を自動化するための大いなるカラクリとなります。
1.「コントローラ名」が分れば、命名規則によりアクションコントローラのファイル名が特定できます。
2.そしてファイルを読み込みます。
3.そこにはファイル名と同名のクラス名がある規則なので、クラスのインスタンスが生成できます。
4.「アクション名」が分れば、命名規則によりインスタンスのメソッド(アクションメソッド)をコールできます。
2.そしてファイルを読み込みます。
3.そこにはファイル名と同名のクラス名がある規則なので、クラスのインスタンスが生成できます。
4.「アクション名」が分れば、命名規則によりインスタンスのメソッド(アクションメソッド)をコールできます。
上記の流れはリクエストを受け取った「フロントコントローラ」でdispatch()メソッドをコールした時に自動的に行われる内部処理で、その結果「アクション」へ処理を引き渡しているわけです。
リクエストされたURIから、呼び出すべきアクション先を決定することを『ルーティング』、アクションメソッドをコールすることを『ディスパッチ』と言います。
一応、MVCイメージをつかめるように簡単な画像を作ってみました。
全リクエストを「フロントコントローラ」(設定ではindex.php)に集め、
「アクションコントローラ」へ丸投げし、
必要に応じてデータ入出力を「モデル」に依頼し、
必要に応じてページ描画を「ビュー」に依頼し、
レスポンスを返します。
なんとなくMVC互いの役割分担、連携の一端が見えてきたような気がします。