目次

Yii

公式:http://www.yiiframework.com/

インストール

公式サイトからダウンロードして、解凍、ブラウザでアクセスできる場所に設置

wget “http://yii.googlecode.com/files/yii-1.1.13.e9e4a0.tar.gz
tar zxvf yii-1.1.13.e9e4a0.tar.gz
mv yii-1.1.13.e9e4a0 /var/www/html/yii

ブラウザで動作環境のチェック

http://192.168.234.128/yii/requirements/index.php

スケルトン作成

コードジェネレータを使って、スケルトンの作成

/var/www/html/yii/framework/yiic webapp /var/www/html/testdrive

ブラウザでスケルトンの確認

http://192.168.234.128/testdrive/index.php

CRUDの作成

ウェブアプリケーション初期構成ファイルを編集

/var/www/html/testdrive/protected/config/main.php

コードジェネレータ「Gii」を使用可能にする
→コメントブロックを外す
→(Giiを使うための)passwordを設定する
→接続許可IPを定義する

before)

		/*
		'gii'=>array(
			'class'=>'system.gii.GiiModule',
			'password'=>'Enter Your Password Here',
			// If removed, Gii defaults to localhost only. Edit carefully to taste.
			'ipFilters'=>array('127.0.0.1','::1'),
		),
		*/

after)

		/**/
		'gii'=>array(
			'class'=>'system.gii.GiiModule',
			//'password'=>'Enter Your Password Here',
			'password'=>'pwd',
			// If removed, Gii defaults to localhost only. Edit carefully to taste.
			'ipFilters'=>array('127.0.0.1','::1','192.168.234.*'),
		),
		/**/

DB接続をsqliteからMySQLに変更する
→sqliteの定義をコメントアウトする
→MySQLのコメントブロックを外す
→username / password を設定する

before)

		'db'=>array(
			'connectionString' => 'sqlite:'.dirname(__FILE__).'/../data/testdrive.db',
		),
		// uncomment the following to use a MySQL database
		/*
		'db'=>array(
			'connectionString' => 'mysql:host=localhost;dbname=testdrive',
			'emulatePrepare' => true,
			'username' => 'root',
			'password' => '',
			'charset' => 'utf8',
		),
		*/

after)

		/*
		'db'=>array(
			'connectionString' => 'sqlite:'.dirname(__FILE__).'/../data/testdrive.db',
		),
		*/
		// uncomment the following to use a MySQL database
		/**/
		'db'=>array(
			'connectionString' => 'mysql:host=localhost;dbname=testdrive',
			'emulatePrepare' => true,
			'username' => 'root',
			'password' => 'passwd',
			'charset' => 'utf8',
		),
		/**/

MySQLにサンプルDBを作成して、サンプルデータを流し込む

mysql -u root -ppasswd -e 'CREATE DATABASE `testdrive` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci'
mysql -u root -ppasswd testdrive < /var/www/html/testdrive/protected/data/schema.mysql.sql

ブラウザでGiiにアクセスする

http://192.168.234.128/testdrive/index.php?r=gii

左のメニューから「Model Generator」を選択する

該当項目に以下を入力して、「Preview」-「Generate」を押下
Table Name : tbl_user
Model Class : User

protected/models 配下にmodelが作成されるので、書き込み権限に注意

左のメニューから「Crud Generator」を選択する

該当項目に以下を入力して、「Preview」-「Generate」を押下
Model Class : User
Controller ID : user (小文字)

protected/controllers 配下にcontrollerが
protected/views 配下にviewが作成されるので、書き込み権限に注意

ブラウザでアクセスして、Listが表示されることを確認

http://192.168.234.128/testdrive/index.php?r=user

admin / admin でLoginして、以下にアクセスするとManageが表示される

http://192.168.234.128/testdrive/index.php?r=user/admin