hitoshop14 @ ウィキ

MVCの考え方

最終更新:

hitoshop

- view
管理者のみ編集可

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 ]のみです。

 

 

 


 

記事メニュー
目安箱バナー