いろいろ準備中

[Zend Framework] Zend Frameworkのbootstrap.php

5月 30th, 2008 Posted in Zend Framework

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に向けるのを忘れないでください。

  1. One Response to “[Zend Framework] Zend Frameworkのbootstrap.php”

  2. By kouichi on 5月 30, 2008

    解説どうもありがとうございます^^
    ためになりました。

コメントを投稿する