Zend FrameworkのMVCを覚えるためにMVCを用いた簡易アプリケーション「~さんこんにちは」を表示させようという魂胆覚書です。
こちら参考にしてます。
MVCとは
Model View Controller(モデル・ビュー・コントローラ; MVC)は、コンピュータ内部のデータをユーザに提示し、それに対してユーザが何らかの指示を出すタイプの、独自のユーザーインタフェースをもつアプリケーションソフトウェアを、以下に述べるようなmodel・view・controllerの3つの部分に分割して設計・実装するという技法、又はそのような構造をいう。
Model
そのアプリケーションが扱う領域のデータと手続き(ビジネスロジック - ショッピングの合計額や送料を計算するなど)を表現する要素である。また、データの変更をviewに通知するのもmodelの責任である(modelの変更を通知するのにObserver パターンが用いられることもある)。
多くのアプリケーションではデータの格納に永続的な記憶の仕組み(データベースなど)が使われている。MVCの概念では、データの(UI以外の)入出力は取り扱わないので、データアクセスも本来MVCの概念の範疇を超えるものではあるが、敢えていえばmodelの中に隠蔽されると考えられる。
View
modelのデータを取り出してユーザが見るのに適した形で表示する要素である。すなわちUIへの出力を担当する。例えば、ウェブアプリケーションではHTML文書を生成して動的にデータを表示するためのコードなどにあたる。
Controller
ユーザの入力(通常イベントとして通知される)に対して応答し、それを処理する要素である。すなわちUIからの入力を担当する。modelとviewに変更を引き起こす場合もあるが、直接に描画を行ったり、modelの内部データを直接操作したりはしない。
Model View Controller(wikipedia先生より)
準備
前回作ったhttp://localhost/zf/フォルダ内に制作します。
zfフォルダ内にappricationフォルダを作り、さらにその中にmodels、controllers、viewsフォルダを作ります。viewsフォルダ内には更にscriptsフォルダを作ります。
zf
└apprication
└models
└controllers
└views
└scripts
アプリケーションは基本的に外部からアクセスされないapplicationフォルダに配置します。そして公開フォルダにはフロントコントローラとなる「index.php」(と「.htaccess」)を配置します。こうすることでアプリケーションファイル群が直接アクセスされることはなくなり、セキュリティ面で有利になります。
Zend Framework入門(2):Hello World!アプリケーションの作成
あと文言覚えに下記メモしておく。
フロントコントローラ…(MVCのCに値する部分の総元締めで、すべてのリクエストをまず受けつける)
アクションコントローラ…(実際にリクエストに対する必要な処理を実行する)
アクション…(リクエストに対してアクションコントローラが行う処理)
ルーティング…(リクエストの内容を判断して受け渡し先を決定する処理のこと)
ディスパッチ…(アクションコントローラに以後の処理を受け渡すこと)