- 2009-12-28 (月) 0:08
- Zend Framework
Zend_ControllerはZend Framework の MVC システムの中心となるものです。
Zend_Controller_Front は フロントコントローラ パターンを実装しており、 すべてのリクエストをいったんフロントコントローラで受け取った上でその URL にもとづいたアクションコントローラに配送します。
Zend_Controller は、拡張性を考慮して作成されています。
拡張方法は下記の二つがあります。
- 既存のクラスのサブクラスを作成する
- アクションヘルパーを作成する
新しいサブクラスを作成すると、コントローラクラスの基盤となる インターフェイスや機能を新たに書くことができます。 アクションヘルパーを使用すると、システムの機能を強化したり変更したりできるようになります。
Zend_Controllerの構造
フロントコントローラー
全てのリクエストを受け付け、処理を各機能に依頼し、レスポンスを返す
ルータ
リクエスト内容から処理の手順を決める
ディスパッチャ
処理を担当するアクションコントローラーを決め、アクションコントローラーを呼び出す
アクションコントローラー
実施の処理を行うビジネスロジックと呼ばれる部分
リクエストオブジェクト
リクエストされた全ての情報を管理する
レスポンスオブジェクト
レスポンスする全ての情報を管理する
アクションヘルパー
アクションコントローラーに機能を追加する
プラグイン
イベント発生時に処理を追加する
標準的なディレクトリ構成
application ---------------- アプリケーションディレクトリ ┣controllers -------------- コントローラディレクトリ ┃┣IndexController -------- アクションコントローラ ┃models ------------------- モデルディレクトリ ┃views -------------------- ビューディレクトリ ┃┗scripts ---------------- ビュースクリプトディレクトリ ┃__┗index ---------------- コントローラ名 ┃____┗index.phtml -------- ビュースクリプト(アクション名 + .phtml) html ----------------------- 公開ディレクトリ ┣.htaccess ---------------- 全てのリクエストをindex.phpに渡す設定 ┗index.php ---------------- フロントコントローラ
rewrite ルールの作成
上のレイアウトの html/.htaccess ファイルを、次のように編集します。
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^.*$ index.php [NC,L]
ZFチュートリアル目次
http://yaegassy.jp/zend-framework.html#4
関連するかもしれない記事:
タグ: Framework, PHP, Zend, ZFチュートリアル- Newer: ZFチュートリアル Zend_Controller編 (2) ファイル説明
- Older: PHPアプリでのナビゲーションUIの管理と表示


