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();