Yiiチュートリアル2:Mysqlの設定とGiiによるCRUD作成

Yiiチュートリアル続き
参考は引き続き 初めに: 初めての Yii アプリケーションの作成 | Yii 1.1 公式ガイド | Yii PHP Framework

DB(Mysql)の接続設定
[cake@cake chara-y]$ git diff
diff --git a/protected/config/main.php b/protected/config/main.php
index 9e840e4..6984391 100644
--- a/protected/config/main.php
+++ b/protected/config/main.php
@@ -47,11 +47,12 @@ return array(
                        ),
                ),
                */
+               // uncomment the following to use a sqlite database
+               /*
                '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,
@@ -59,7 +60,6 @@ return array(
                        'password' => '',
                        'charset' => 'utf8',
                ),
-               */
                'errorHandler'=>array(
                        // use 'site/error' action to display errors
             'errorAction'=>'site/error',

しかし残念ながら、この段階では接続できたのかどうか分かりません(笑)

Gii

続いてYiiのコードジェネレーター:Giiをセットアップ。
概ね公式ドキュメント通りでしたが、うちの開発環境では、ipFiltersは127.0.0.1localhostではダメで、192.168.XXX.*と指定しないと動きませんでした。


Giiにログインできたら、コード生成開始。
これも公式ドキュメントには記載ありませんでしたが、protected/models/、protected/controllers、protected/views/のそれぞれを書き込み可能にしておかないと、エラーとなります。


Model Generatorでモデル、CRUD Generatorでコントローラとビューが生成されます。


デフォルトでは、一覧とviewは全ユーザ許可ですが、createとupdateはログインの必要があります。
この時点では、Auth機能がデフォルトままなので、admin/adminあるいはdemo/demoでログインすると、テーブルへの書き込みも可能となります。


生成されたモデル、コントローラ、ビューのファイルを見ると、モデルはカラム定義(最大文字数とか)やテーブル間の関連付けも反映されています。
コントローラおよびビューを見ると、テーブルの読み込み・書き込みやビューへの渡し方、表示の仕方が概ね掴めるので、入門者には分かりやすいです。


Giiで生成されるコードはカスタマイズもできる模様。
まだ使いませんが、メモ書きまでに
その他のトピック: 自動的なコード生成 | Yii 1.1 公式ガイド | Yii PHP Framework