0 フォロワー

Yiiのテストドライブ

このセクションでは、開始点となるスケルトンアプリケーションを作成する方法について説明します。簡単にするために、Webサーバーのドキュメントルートは/wwwrootであり、対応するURLはhttp://www.example.com/であると想定します。

1. Yiiのインストール

まず、Yiiフレームワークをインストールします。Yiiのリリースファイル(バージョン1.1.1以上)のコピーをwww.yiiframework.comから入手し、/wwwroot/yiiディレクトリに解凍します。/wwwroot/yii/frameworkディレクトリがあることを確認してください。

ヒント: Yiiフレームワークは、Webフォルダの下だけでなく、ファイルシステムの任意の場所にインストールできます。そのframeworkディレクトリには、すべてのフレームワークコードが含まれており、Yiiアプリケーションをデプロイする際に必要な唯一のフレームワークディレクトリです。Yiiの単一のインストールは、複数のYiiアプリケーションで使用できます。

Yiiをインストールしたら、ブラウザウィンドウを開き、URL http://www.example.com/yii/requirements/index.phpにアクセスします。Yiiリリースで提供されている要件チェッカーが表示されます。ブログアプリケーションでは、Yiiに必要な最小要件に加えて、SQLiteデータベースにアクセスできるように、pdopdo_sqliteの両方のPHP拡張機能を有効にする必要があります。

2. スケルトンアプリケーションの作成

次に、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

作成したばかりのアプリケーションを試すには、Webブラウザを開き、URL http://www.example.com/blog/index.phpに移動します。スケルトンアプリケーションには、ホームページ、概要ページ、問い合わせページ、ログインページの4つの完全に機能するページがすでに存在することがわかります。

次に、このスケルトンアプリケーションにあるものを簡単に説明します。

エントリスクリプト

エントリスクリプトファイル/wwwroot/blog/index.phpには、次の内容があります。

<?php
$yii='/wwwroot/framework/yii.php';
$config=dirname(__FILE__).'/protected/config/main.php';
 
// remove the following line when in production mode
defined('YII_DEBUG') or define('YII_DEBUG',true);
 
require_once($yii);
Yii::createWebApplication($config)->run();

これは、Webユーザーが直接アクセスできる唯一のスクリプトです。スクリプトは最初にYiiブートストラップファイルyii.phpをインクルードします。次に、指定された構成でアプリケーションインスタンスを作成し、アプリケーションを実行します。

アプリケーションのベースディレクトリ

また、アプリケーションのベースディレクトリ/wwwroot/blog/protectedもあります。コードとデータの大部分はこのディレクトリの下に配置され、Webユーザーがアクセスできないように保護する必要があります。Apache httpd Webサーバーの場合、このディレクトリの下に次の内容の.htaccessファイルを配置します。

deny from all

他のWebサーバーについては、Webユーザーがアクセスできないようにディレクトリを保護する方法について、対応するマニュアルを参照してください。

3. アプリケーションのワークフロー

Yiiの動作を理解するために、ユーザーが問い合わせページにアクセスするときにスケルトンアプリケーションのメインワークフローを説明します。

  1. ユーザーがURL http://www.example.com/blog/index.php?r=site/contactをリクエストします。
  2. Webサーバーによってエントリスクリプトが実行され、リクエストが処理されます。
  3. アプリケーションインスタンスが作成され、アプリケーション構成ファイル/wwwroot/blog/protected/config/main.phpで指定された初期プロパティ値で構成されます。
  4. アプリケーションは、リクエストをコントローラーコントローラーアクションに解決します。問い合わせページのリクエストの場合、siteコントローラーとcontactアクション(/wwwroot/blog/protected/controllers/SiteController.phpactionContactメソッド)として解決されます。
  5. アプリケーションは、SiteControllerインスタンスに関してsiteコントローラーを作成し、それを実行します。
  6. SiteControllerインスタンスは、actionContact()メソッドを呼び出すことによって、contactアクションを実行します。
  7. actionContactメソッドは、contactという名前のビューをWebユーザーにレンダリングします。内部的には、これはビューファイル/wwwroot/blog/protected/views/site/contact.phpをインクルードし、その結果をレイアウトファイル/wwwroot/blog/protected/views/layouts/column1.phpに埋め込むことによって実現されます。

タイプミスを見つけたり、このページを改善する必要があると思われる場合は?
githubで編集 !