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.1やlocalhostではダメで、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