Yiiフレームワークの導入

CodeIgniterのライセンス変更に伴い、CodeIgniterでプログラムを作成する意欲がなくなってきた私は、他にいいPHPフレームワークがないかと探していたら、『Yii』(イー; [ji:]と発音します)というフレームワークが結構よさそうなので、導入して検証してみることにしました。ちなみにライセンスは数あるライセンスの中で、非常に制限の緩いBSDライセンスです。

全くの未知数で、日本語の書籍もまだないので、習得できるかどうかもわかりませんが、考えて立ち止まってもしょうがないので、一から勉強してみます。興味のある方はお付き合い下さい。Smartyの勉強と平行してやっていきたいと思います。

『Yii』のダウンロードページへ行き、最新のバージョン1.1.8のZipファイルをクリックします。今回もDreamweaverを使用して、レンタルサーバーのファイアバードへインストールしてみたいと思います。

1) ダウンロードしたZipファイルを解凍したら、ローカルのマイドキュメントに『y.winroad.info』(分かり易いようにサブドメイン名と同じフォルダ名)でフォルダを作成し、そこにダウンロードしたフォルダを『yii』に変更し、コピーします。

2) Dreamweaverを起動したら、『サイト』→『新規サイト』とクリックします。サイト名を『y.winroad.info』、ローカルサイトフォルダを先程作成した『c:¥マイドキュメント¥y.winroad.info』に指定し、左メニューのサーバーをクリックします。

3) 『+』アイコンで表示されている『新規サーバーの追加』をクリックします。サーバー名を『y.winroad.info』、使用する接続を『FTP』、FTPアドレスを『winroad.info』、ユーザー名を『winroad.info』と入力し、パスワードを入力したら、テストをクリックします。『DreamweaverはWebサーバーに接続されました。』と表示されたら、ルートディレクトリに『y.winroad.info』と入力し、『保存』ボタンをクリックします。

4) テストにチェックを入れて『保存』をクリックします。

5) サイトキャッシュを更新中のダイアログが消えたら、『展開してローカル及びリモートサイトを表示』アイコンをクリックします。

6) 『リモートホストに接続』アイコンをクリックします。リモートサーバーに接続されたら、ファイルをサーバーにアップします。

7) 公式サイトによると、Yiiのインストールが終ったら、サーバがYiiの要求を満足するかどうか確認する必要があるとのことです。ブラウザに下記のアドレスを入力してみます。

http://y.winroad.info/yii/requirements/index.php

8) どうやら大丈夫そうですので、demoサイトの『helloworld』フォルダをのぞいてみたいと思います。

9) 『helloworld』フォルダには、『protected』フォルダとその中に『contorollers』フォルダがあります。『helloworld』フォルダには、『index.php』ファイル、『protected』フォルダには、『.htaccess』ファイル、『controllers』フォルダには『SiteController.php』ファイルがあります。

10) 『yii/demos/helloworld』フォルダの中にある『index.php』を開いてみると、

<?php
// include Yii bootstrap file
require_once(dirname(__FILE__).'/../../framework/yii.php');

// create a Web application instance and run
Yii::createWebApplication()->run();

とありました。まず、最初にrequire_onceで『yii/framework』フォルダの『yii.php』ファイルを読み込み、『Yii::createWebApplication()->run()』で、アプリケーションを起動していると解釈すればいいのでしょうか。日本語の説明がわかりづらいので、まだよくわかりませんが、先に進みます。

11) dreamweaverのライブコードをクリックすると、htmlコードが生成されて、ブラウザに『Hello World』が表示されているのがわかります。

12) さて、この『Hello World』の文字は、どこから生成されているのでしょう。『SiteController.php』のファイルに『echo ‘Hello World’』の文字がありました。

<?php

/**
 * SiteController is the default controller to handle user requests.
 */
class SiteController extends CController
{
	/**
	 * Index action is the default action in a controller.
	 */
	public function actionIndex()
	{
		echo 'Hello World';
	}
}

13) つまり、この『SiteController.php』ファイルの『actionIndex()』を実行しているということだと思います。

14) 『index.php』ファイルに戻り、『Yii::createWebApplication()->run();』の意味を調べてみます。公式サイトのアプリケーションの項目に、

『初期構成はキーと値のペアの要素を持つ配列です。キーはアプリケーションインスタンスのプロパティ名を表します。 値は対応するプロパティの初期値です。 例えば、以下の初期構成ファイルはname及びdefaultControllerプロパティを構成します。

array(
    'name'=>'Yii Framework',
    'defaultController'=>'site',
)

』とありました。

つまり、createWebApplication()に$configを指定しなければ、デフォルトは、『controllers』フォルダの『SiteCntoroller.php』ファイルのSiteControllerクラスのデフォルトアクションであるacitionIndex()を実行するものと解釈して先に進めたいと思います。もし、間違っていたら後日訂正いたします。

たかだか’Hello World’を表示する行程を理解するだけで、かなり苦労してしまいましたので、習得できるかどうか不安ですが、Yiiの公式サイトによると、かの『CodeIgniter』よりも高速で、多機能みたいですので、頑張って習得したいと思います。

本日は以上です。

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

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

カテゴリー:Yii

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

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

コメントをどうぞ

このページの先頭へ