2007年8月25日

ブログに投稿したZend Frameworkを使用したサンプルです。

「CakePHPで携帯サイトを作る」のサンプルは、こちら

すべて実験的なサンプルです。
ダウンロードしたファイルを使用・実行して発生した損害については、私(作成者)は一切責任を負いませんので、ご了承ください。

追記 2009/02/09

このページのサンプルは、Zend Framework 1.5.2 1.0.xなどを使用していました。
Zend Framework:エラー関連の設定を変更してみる以降のサンプルで、いつ頃からか、インクルードするZend Frameworkのライブラリが足りず、エラーがでるようになりました。

修正方法です。

1.

bootstrap.phpで定義したbootstrap()関数の最初に次のようなものを追加します。

PHP:
  1. require_once 'Zend/Controller/Action/Helper/ViewRenderer.php';
  2.   if (!class_exists('Zend_Controller_Action',false)) {
  3.     require_once 'Zend/Controller/Action.php';
  4.   }

2.

次に、bootstrap.phpに定義したbootstrap()関数内の require 'Zend/Controller/Front.php'; をコメントアウトします。

PHP:
  1. //require 'Zend/Controller/Front.php';

以上で、Zend Framework 1.7.3では、必要なクラスをインクルードでき、「Fatal error: Class 'Zend_Controller_Action' not found 」というエラーがなくなります。

サンプルのダウンロード

Zend Framework:Hello Worldを表示してみるのサンプル

ダウンロード

Zend Framework:処理の流れをログ出力してみるのサンプル

ダウンロード(※1)

Zend Framework:エラー関連の設定を変更してみるのサンプル

ダウンロード(※1)

Zend Framework:テンプレートエンジンをSmartyにするのサンプル

ダウンロード(※1)(※2)

Zend Framework:ルーティングを定義してみるのサンプル

ダウンロード(※1)(※2)

Zend Framework:認証が必要なページを作成するのサンプル

ダウンロード(※1)(※2)

※1 サンプルのアーカイブには、tdBASEDIR0?/webpapp0?/logディレクトリが含まれていますので、そのディレクトリにapacheが書き込みできるように設定します。
例:

$ chmod 777 tdBASEDIR02/webapp02/log

※2 Smartyライブラリが必要です。
Zend Framework:テンプレートエンジンをSmartyにするの「Smartyのインストール」のような配置がデフォルトです。

また、キャッシュディレクトリとコンパイルディレクトリにapacheが書き込みできるように設定します。
例:

$ chmod 777 tdBASEDIR04/webapp04/temporary/cache
$ chmod 777 tdBASEDIR04/webapp04/temporary/templates_c

サンプルのインストール

「Zend Framework:Hello Worldを表示してみる」のサンプルの場合ですが、他も同じ方法でインストールできます。

1. サンプルファイル一式とZend Frameworkの配置

/var/wwwディレクトリ等で、tdBASEDIR01.tar.gzを展開します。
例:

$ cd /var/www
$ tar xvzf tdBASEDIR01.tar.gz

/var/wwwディレクトリにtdBASEDIR01ディレクトリが作成されます。
tdBASEDIR01ディレクトリの中身の配置場所は任意です。

Zend Framework:Hello Worldを表示してみるの「Zend Frameworkインストール」のようにZend Frameworkをインストールします。

2. ドキュメントルート設定(apache)

1で作成されたtdBASEDIR01ディレクトリ内のhtmlディレクトリがドキュメントルートになるようにapacheの設定ファイルを適切に設定します。
apacheのバーチャルホストの機能が便利です。
バーチャルホストの設定は、バーチャルホストによる複数サイトの同時運用(1/2)がとても参考になると思います。

コメントをどうぞ