Yiiのアプリケーションとは

Yiiのアプリケーションとは何でしょうか。公式サイトによると『アプリケーションはリクエストが処理される実行コンテキストをカプセル化したオブジェクトです。 その主なタスクは、リクエストに関するいくつかの基本的な情報を収集して、その先の処理を行うために適切なコントローラへリクエストを送出することです。 さらにアプリケーションレベルの初期構成を保つための中心的な場所としても振舞います。 この理由からアプリケーションオブジェクトはフロントコントローラとも呼ばれます。』とあります。

つまり、Yiiでは、コントローラが実行される前に、アプリケーションが実行されるという事みたいですね。

アプリケーションの初期構成

公式サイトでは、『初期構成はキーと値のペアの要素を持つ配列です。キーはアプリケーションインスタンスのプロパティ名を表します。』とありますが、イメージがわかないので、新しくデモサイトを作成して試してみたいと思います。

1) ルートフォルダ上に、『welcome』というフォルダを作成して、配下に『protected』フォルダと『index.php』ファイル、『protected』フォルダの下に、『WelcomController.php』ファイルを作成します。

2) index.phpファイルに下記のコードを入力します。

<?php
// ブートストラップファイルの読み込み
require_once('yii.php');

// Webアプリケーションのインスタンス化
$configFile=array(
	'defaultController'=>'welcome');
Yii::createWebApplication($configFile)->run();

3) 『controllers』フォルダの『WelcomController.php』ファイルに下記のコードを入力します。

<?php
class WelcomeController extends CController
{
	public function actionIndex()
	{
		echo '<meta charset="utf-8">';
		echo '<h1>ようこそWinRoad徒然草へ</h1>';
		echo 'これはアプリケーションのテストです';
	}
}

4) それでは、Dreamweaverで『index.php』を開き、ライブコードをクリックして、どのように表示される確認してみます。

5) つまり、デフォルトコントローラーはエントリスクリプトで変更することが出来るということですね。

6) また、一般的には、『protected/config/main.phpファイルに、格納します』とありますので、これも検証してみます。

7) 『pretocted』フォルダの中に『config』フォルダ、その中に『main.php』ファイルを作成し、下記のコードを入力します。

<?php

return array(
	'name'=>'WinRoad徒然草',
	'defaultController'=>'welcome',
);

8) index.phpファイルを下記のように変更します。

<?php
// ブートストラップファイルの読み込み
require_once('yii.php');
$config=dirname(__FILE__).'/protected/config/main.php';

// Webアプリケーションのインスタンス化
Yii::createWebApplication($config)->run();

ブラウザを開き、きちんと表示されるか確認してみます。

http://y.winroad.info/welcome

きちんと表示されました。

以下のアプリケーションコンポーネントの概念がいまいちイメージできないので、今日はここまでにします。

このエントリーを含むはてなブックマーク Buzzurlにブックマーク livedoorクリップ Yahoo!ブックマークに登録

2011年11月21日 | コメント/トラックバック(0) | トラックバックURL |

カテゴリー:Yii

トラックバック&コメント

この投稿のトラックバックURL:

コメントをどうぞ

このページの先頭へ