Posted on

Yii利用検討

PHPにはさまざまなフレームワークが存在しています。

参考にさせて頂いた資料は、色々なPHPフレームワークのパフォーマンスになります。

この中で、比較的パフォーマンスの良いYiiに注目しました。
Yiiの公式ガイド
私なりにYiiを利用してみました。

●インストール
公式ガイドに従い、yii-1.1.13.e9e4a0.tar.gzをダウンロード
Webアクセスできる場所に展開します。
tar zxvf yii-1.1.13.e9e4a0.tar.gzにて解凍
yii-1.1.13.e9e4a0というフォルダができます。
扱いにくいので、mv yii-1.1.13.e9e4a0 yii_1_1_13へ変更します。
http://ホスト名/yii_1_1_13/requirements/index.php
にて、Yiiが利用できる環境かを確認します。
WebRoot/yii_1_1_13/framework/yiic webapp WebRoot/yii_1_1_13/testdrive
Create a Web application under ‘WebRoot/yii_1_1_13/testdrive’? (yes|no) [no]:yes
http://ホスト名/yii_1_1_13/testdrive/index.php
サンプルの画面が表示されます。
WebRoot/yii_1_1_13/framework/yiic webapp WebRoot/yii_1_1_13/testdrive git
Create a Web application under ‘WebRoot/yii_1_1_13/testdrive’? (yes|no) [no]:yes
●MySQLへの接続
準備:yii_1_1_13のDBを作成します。
テーブルを下記内容で作成します。
CREATE TABLE  `tbl_user` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `username` varchar(128) NOT NULL,
  `password` varchar(128) NOT NULL,
  `email` varchar(128) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
WebRoot/yii_1_1_13/testdrive/protected/config/main.phpを編集
‘db’=>array(
‘connectionString’ => ‘mysql:host=localhost;dbname=yii_1_1_13’,
‘emulatePrepare’ => true,
‘username’ => ‘root’,
‘password’ => ‘パスワードを記入する。’,
‘charset’ => ‘utf8’,
),
WebRoot/yii_1_1_13/testdrive/protected/config/main.phpを編集
// autoloading model and component classes
‘import’=>array(
‘application.models.*’,
‘application.components.*’,
),
‘modules’=>array(
// uncomment the following to enable the Gii tool
‘gii’=>array(
‘class’=>’system.gii.GiiModule’,
‘password’=>’パスワードを記入する。’,
// If removed, Gii defaults to localhost only. Edit carefully to taste.
‘ipFilters’=>array(‘127.0.0.1′,’::1′,’IPを記述する。’),
),
),
●ジェネレータを利用してサイトの構築
chmod -R 777 WebRoot/yii_1_1_13/testdrive/assets を実行します。 
chmod -R 777 WebRoot/yii_1_1_13/testdrive/protected を実行します。
http://ホスト名/yii_1_1_13/testdrive/index.php?r=gii
ログイン後、Model Generator のリンクをクリックします。
Table Name *
tbl_user
Model Class *
User
を入力し、
「Preview」押下します。
その後、「Generate」押下します。
http://ホスト名/yii_1_1_13/testdrive/index.php?r=gii
モデルクラスファイルを生成した後で、ユーザデータに関する CRUD 操作を実装するコードを生成します。Gii で Crud Generator を選択します。
Model Class *
User
Controller ID *
user
を入力し、
「Preview」押下します。
その後、「Generate」押下します。
http://ホスト名/yii_1_1_13/testdrive/index.php?r=user
このページは tbl_user テーブルのユーザのエントリ一覧を表示します。
http://ホスト名/yii_1_1_13/testdrive/index.php?r=user/admin
便利なテーブル形式でユーザの一覧表を表示します。
まだ、基礎の部分ですが、確認できました。
今の段階では、ジェネレータに頼った構築なので、業務アプリなどを作成するには、もう少し突っ込んだ検証が必要になります。
今後も機会があれば、次なるステップへ進みたいと思います。