[Zend Framework] Zend Frameworkのbootstrap.php
Zend Frameworkを使ってMVCフレームワークで開発をしようとする場合、Zend Frameworkのリファレンスガイドではドキュメントルート直下に置いたindex.phpをフロントコントローラとして使います。そして本命のディスパッチ処理はもちろん、ビューやルータの設定、また必要であればログ(Zend_Log)や権限(Zend_Acl)の設定もこのファイルに書いてしまうことが多いと思います。
Zend Framework COMMUNUTY Wikiには、まだ作成途中ですがOfficial ZF QuickStartという項目があって、リファレンスガイドのやり方とはちょっと違っていたのでメモっておきます。
ディレクトリ構成は以下のようになっています。
AppRoot/
application/
controllers/
views/
scripts/
library/
public/ドキュメントルートはAppRoot/publicで、ここにindex.phpが配置されます。bootstrap.phpはAppRoot/applicationの直下に置きます。AppRoot/application以下はZend Frameworkのリファレンスガイドにも例があるのでおなじみかと思います。AppRoot/library以下には、Zend Frameworkのライブラリ含めた外部ライブラリを置くところになっています。
AppRoot/public/index.php は以下のようになっています。
< ?php require '../application/bootstrap.php';
bootstrap.phpをインクルードするだけです。
AppRoot/application/bootstrap.phpにこれまでindex.phpに記述していた内容を書けばOKです。内容はほんの一例です。
< ?php error_reporting(E_ALL | E_STRICT); // インクルードパスの追加 set_include_path('../library' . PATH_SEPARATOR . get_include_path()); // autoloaderの設定 require_once "Zend/Loader.php"; Zend_Loader::registerAutoload(); // front controllerの設定 $frontController = Zend_Controller_Front::getInstance(); $frontController->throwExceptions(true); $frontController->setControllerDirectory('../application/controllers'); $frontController->dispatch();
あ、もちろんAppRoot/public以下に.htaccessをいてリクエストをindex.phpに向けるのを忘れないでください。
One Response to “[Zend Framework] Zend Frameworkのbootstrap.php”
By kouichi on 5月 30, 2008
解説どうもありがとうございます^^
ためになりました。