Yii

Yii Blog Tutorial スキャフォールディングとモジュールの配置

CakePHPでは bake と呼ばれるツールがあり、MVCモデルにおける各パートのベースモジュールを自動生成してくれるので、大変重宝するツールだ。Yiiにおいても用意してくれており、これまた大変便利である。このような作業を、スキャフォールディングと呼んでいる。

Yiiではサイトの骨格を、そのまま利用できるようなデザインを含んだコードを吐き出してくれる。次のコマンドを実行するだけで、図のような表示の動的サイトが簡単にできる。

framework> yiic.bat webapp \htdocs\test

さて、Webアプリケーションのプログラムやフレームワーク本体を、ストレージ上のどこに配置するかだが、自分は公開ディレクトリ以外に置くようにしている。Yii も CakePHP 同様、フレキシブルに設定できる。今回は以下の通りにした。

\
+- htdocs
|   +- test  (index.php)
|       +- protected
+- yii
    +framework (yiic.bat)

htdocs が公開ディレクトリで、yii\framework がフレームワーク本体。スキャフォールディングは、Windows用に用意された yiic.bat を利用して公開ディレクトリの下に test ディレクトリを作成し、そこを出力先とした。

これで、上のコマンド実行後に「http://www.example.com/test/」をブラウズすると、上のようなサイトが表示される。さて、スキャフォールディングで出力されたアプリケーションのモジュール htdocs\test\protected も、公開ディレクトリから yii のサブディレクトリ yii\blog に移してしまおう。

これで公開ディレクトリに残ったのは、test\index.php だけとなる。index.php では、フレームワークとアプリケーションの設定ファイルパスを指定する必要がある。そこで、次のようにそれぞれ変更する。

$yii = realpath('../../yii/framework/yii.php');
$config = realpath('../../yii/blog/config/main.php');

これで、実際のWebサーバー上での配置を含めた環境が決まった。
(yii-1.1.0.r1700)