hitoshop14 @ ウィキ
MVCの考え方
最終更新:
hitoshop
MVCモデルの考え方
MVCとは、[Model] [View] [Controller]の頭文字をとったもので、GUIシステムの設計概念です.
要は、システムを構成する上で、この大きく分かれた3つで個々の処理をさせましょうという事です.
◆Modelの役割とは、データ保存や読み込みを行う関数やクラスを記述する部分です.
◆Viewの役割とは、画面表示に関するすべての処理を担当する部分です.
◆Controllerの役割とは、全体の橋渡しです.
◆ZendFrameworkのブートストラップ・アーキィクチャ
リクエスト → フロントコントローラ → ルータ → ディスパッチャ →
コントロ-ラ → レスポンス
リクエストからレスポンスまでの処理の流れを正確に理解することにより、MVCのどこでどのような処理をさせればよいのかわかるはずです。
公開ディレクトリの構成
基本、公開用ディレクトリ置かれるファイルは、index.phpのみです。
公開されているものを最小限に抑えることで、不慮の事故やセキュリティー対策に役立っています。
これを実現させる為には、.htaccessファイルの[ rewriteルール ]の記述が必要になります。
◆.htaccessファイルの記述例
RewriteEngine on
RewriteBase /
RewriteRule !¥. ( js | ico | gif | jpg | png | css ) $ index.php
コントローラファイルの作成
対象 | 例 | 規則 |
クラス名 | IndexController | [ Index ]は任意。[ Controller ]は定型。頭文字は大文字 |
ファイル名 | IndexController.php | クラス名と同一 |
メソッド名 | hogeAction | [ hoge ]は任意。[ Action ]は定型。[ camelCase ]形式で命名 |
camelCaseとは、頭文字は小文字で、2単語目以降の頭文字は大文字にするスタイル。
アクションの呼び出し方
◆デフォルトコントローラ
デフォルトアクションは、アクション名が[ index ]のものになり、通常のURLで、[ index.html ]
[ index.php ] などファイル名を省略できるように、コントローラ名とアクション名の省略も可能です。
例) http://localhost/index.php → http://localhost/ で
index.phpの内容を表示
注意 パラメータを渡す場合、デフォルトコントローラやデフォルトアクションは省略できません。
例) indexコントローラの、testアクションで、「food = 'apple'」のパラメータを渡す場合
http://localhost/index/test/food/apple と省略せずに記述。
◆フロントコントローラ
フロントコントローラとは、外部からのリクエストを受けとるコントローラのことをいい、公開用ディレクトリ上の、[ index.php ]のみです。