在完成了第一個yii的程序生成之後,還需要配置數據庫。用yiic生成的yii項目,默認配置了sqlite的數據庫。
1、配置項目的數據庫連接
按照手冊說的,修改項目下的\protected\config\console.php 配置文件,把數據庫從sqlite改到mysql。連接都是寫好的,註釋了原來的sqlite,配置上密碼就可以了
/*
'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',
),
2、建立數據庫
在你的mysql數據庫中,新建數據庫 testdrive, 字符集我是選擇utf8-bin的。
然後再打開工程下的文件\protected\dataschema.mysql.sql ,拷貝語句到phpmyadmin(或者你自己的mysql客戶端),創建表並插入用戶數據。執行後驗證數據庫如下圖:
3、執行CRUD(增刪查改)
可以用yiic的shell來生成代碼,也可以用gii來實現。爲了簡單直觀,我選擇了用gii來做。以下先介紹以下gii的配置。
打開工程的配置文件%WebRoot/testdrive/protected/config/main.php,確保以下選項爲開啓的:
'import'=>array(
'application.models.*',
'application.components.*',
),
'modules'=>array(
// uncomment the following to enable the Gii tool
'gii'=>array(
'class'=>'system.gii.GiiModule',
'password'=>'此處輸入你的gii密碼,訪問的時候使用',
// If removed, Gii defaults to localhost only. Edit carefully to taste.
'ipFilters'=>array('127.0.0.1','::1'),
),
訪問URL:http://127.0.0.1/testdriver/index.php?r=gii 會彈出登陸框,輸入預設的gii密碼即可進入,如下圖:
生成用戶模型
點擊上圖中的 Model Gengerator,輸入如下圖的內容以後,點擊preview,這個預覽還有糾錯的功能。如下圖:
然後點擊generate,就生成了tbl_user的這個表對應的模型User文件:
Generating code using template "W:\xampp\htdocs\framework\gii\generators\model\templates\default"... generated models\User.php done!
生成CRUD的代碼
在gii的控制面板,點擊Crud Generator,輸入剛纔生成的那個模型名稱User:
點擊生成之後,生成代碼:
Generating code using template "W:\xampp\htdocs\framework\gii\generators\crud\templates\default"... generated controllers\UserController.php generated views\user\_form.php generated views\user\_search.php generated views\user\_view.php generated views\user\admin.php generated views\user\create.php generated views\user\index.php generated views\user\update.php generated views\user\view.php done!
點擊上面的 try it now, 進入剛纔生成的頁面,可以看到tbl_user的內容都呈現在網頁上了。如果要對該表進行管理操作,則點擊右邊的“manager user”, 此時需要用admin,admin登錄。應該該項目還沒有做權限管理,yiic默認的項目管理員admin。這個在之後的rbac做好以後就需要在用戶角色的來進行操作了。
至此,你就可以對tbl_user這個表進行CRUD的操作了,目前爲止自己還沒有寫過一行代碼。只是進行yii的工程配置就好了。好玩吧。
開始進入歡樂之旅了,恭喜!