このセクションでは、出発点となるスケルトンアプリケーションを作る方法を解説します。
説明を簡単にするために、ウェブサーバのドキュメントルートを /wwwroot
であると仮定し、対応する URL を http://www.example.com/
であるとします。
まずはじめに Yii Framework をインストールします。
Yii のリリースファイル(バージョン 1.1.1以上)を www.yiiframework.com から取得し、/wwwroot/yii
ディレクトリに解凍します。
念のために、/wwwroot/yii/framework
というディレクトリが存在することをもう一度確認してください。
ヒント: Yii framework はファイルシステムのどの場所にでもインストールすることが出来ます。ウェブフォルダ(ドキュメントルート)の下である必要はありません。Yii の
framework
ディレクトリはすべてのフレームワークコードを含んでおり、このディレクトリが Yii アプリケーションの配布に必要な唯一のフレームワークディレクトリです。インストールした単一の Yii を複数の Yii アプリケーションから利用することが可能です。
Yii をインストールした後、ブラウザのウィンドウを開いて、http://www.example.com/yii/requirements/index.php
という URL にアクセスしてください。
そうすると、Yii のリリースに含まれる必要条件チェッカが表示されます。
ブログアプリケーションのためには、Yii が必要とする最小限の要求に加えて、SQLite データベースにアクセスするために、pdo
と pdo_sqlite
という二つの PHP 拡張が有効である必要があります。
次に yiic
ツールを使って /wwwroot/blog
ディレクトリにスケルトンアプリケーションを作ります。
yiic
ツールは Yii のリリースに含まれるコマンドラインツールです。
このツールを使ってコードを生成して、反復的コーディング作業をいくらか軽減することができます。
コマンドプロンプトを開き、以下のコマンドを実行します:
% /wwwroot/yii/framework/yiic webapp /wwwroot/blog Create a Web application under '/wwwroot/blog'? [Yes|No]y ......
ヒント: 上で示したように
yiic
ツールを使うには、CLI PHP プログラムにパスが通っていなければなりません。そうでない場合は、次のようにすることでコマンドを利用できます:path/to/php /wwwroot/yii/framework/yiic.php webapp /wwwroot/blog
作ったばかりのアプリケーションを試してみるには、ブラウザを開いて、http://www.example.com/blog/index.php
にアクセスします。
スケルトンアプリケーションが完全に機能する4つのページを既にそなえているのが分る筈です。
すなわち、ホーム、アバウト(について)、コンタクト、ログイン という4つのページです。
以下では、このスケルトンアプリケーションの中身について簡単に説明します。
まず、/wwwroot/blog/index.php
という エントリスクリプト のファイルがあります。これは以下のような内容です:
$yii='/wwwroot/framework/yii.php'; $config=dirname(__FILE__).'/protected/config/main.php'; // 実運用モードでは次の行を削除します defined('YII_DEBUG') or define('YII_DEBUG',true); require_once($yii); Yii::createWebApplication($config)->run();
これは、ウェブユーザが直接にアクセスできる唯一のスクリプトです。
エントリスクリプトは最初に Yii ブートストラップファイル yii.php
を読み込みます。次に、指定した設定で アプリケーション インスタンスを作成して、アプリケーションを実行します。
次に、/wwwroot/blog/protected
という アプリケーションベースディレクトリ があります。
これから作成するコードとデータのほとんどがこのディレクトリ以下に配置されます。
このディレクトリはウェブユーザのアクセスから保護されなければなりません。
Apache httpd ウェブサーバ を使っているなら、以下のような .htaccess
ファイルをこのディレクトリに置きます:
deny from all
他のウェブサーバを使っている場合は、ウェブユーザのアクセスからディレクトリを保護する方法について、対応するマニュアルを参照してください。
Yii がどのように動くかを理解しやすいように、ユーザがコンタクトページにアクセスした際のスケルトンアプリケーションの主なワークフローを解説します:
http://www.example.com/blog/index.php?r=site/contact
をリクエストします。/wwwroot/blog/protected/config/main.php
で指定された初期プロパティ値が設定されます。site
コントローラと contact
アクションに解決されます (/wwwroot/blog/protected/controllers/SiteController.php
中の actionContact
メソッド)。site
コントローラを SiteController
のインスタンスとして作成し、実行します。SiteController
インスタンスは自身の actionContact()
メソッドを呼ぶことで contact
アクションを実行します。actionContact
メソッドは contact
という名前の ビュー をレンダリングし、ウェブユーザに提示します。内部的には、ビューファイル /wwwroot/blog/protected/views/site/contact.php
を読み込み、レイアウト ファイル /wwwroot/blog/protected/views/layouts/column1.php
にその結果を埋め込むことで、レンダリングが達成されます。
Found a typo or you think this page needs improvement?
Edit it on github !
Signup or Login in order to comment.