yii配置Gii工具
为了使用 Gii,首先需要编辑文件 WebRoot/yanshi/protected/main.php 把23行到30行注释去掉,并把password的密码改为“123456”,注意在项目上线时要把gii工具注释掉。如图
'modules'=>array( // uncomment the following to enable the Gii tool 'gii'=>array( 'class'=>'system.gii.GiiModule', 'password'=>'123456', // If removed, Gii defaults to localhost only. Edit carefully to taste. 'ipFilters'=>array('127.0.0.1','::1'), ), ),
然后,访问 URL http://hostname/testdrive/index.php?r=gii。这里我们需要输入密码,它是在我们在上面的配置中指定的。如图
成功后进入gii工具界面如图
我们以生成一个(CRUD)增删改成的里例子来介绍如何使用Gii工具。
yii配置mysql数据库
为了使用mysql,首先需要编辑文件 WebRoot/yanshi/protected/config/database.php 去掉mysql的配置注释并把其余的代码加上注释如下图
现在我们要先建立一个yanshi数据库
CREATE DATABASE `yanshi` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
建立表tbl_user或者导入表/yanshi/protected/data/schema.mysql.sql
CREATE TABLE tbl_user ( id INTEGER NOT NULL PRIMARY KEY AUTO_INCREMENT, username VARCHAR(128) NOT NULL, password VARCHAR(128) NOT NULL, email VARCHAR(128) NOT NULL ); INSERT INTO tbl_user (username, password, email) VALUES ('test1', 'pass1', 'test1@example.com'); INSERT INTO tbl_user (username, password, email) VALUES ('test2', 'pass2', 'test2@example.com'); INSERT INTO tbl_user (username, password, email) VALUES ('test3', 'pass3', 'test3@example.com'); INSERT INTO tbl_user (username, password, email) VALUES ('test4', 'pass4', 'test4@example.com'); INSERT INTO tbl_user (username, password, email) VALUES ('test5', 'pass5', 'test5@example.com'); INSERT INTO tbl_user (username, password, email) VALUES ('test6', 'pass6', 'test6@example.com'); INSERT INTO tbl_user (username, password, email) VALUES ('test7', 'pass7', 'test7@example.com'); INSERT INTO tbl_user (username, password, email) VALUES ('test8', 'pass8', 'test8@example.com'); INSERT INTO tbl_user (username, password, email) VALUES ('test9', 'pass9', 'test9@example.com'); INSERT INTO tbl_user (username, password, email) VALUES ('test10', 'pass10', 'test10@example.com'); INSERT INTO tbl_user (username, password, email) VALUES ('test11', 'pass11', 'test11@example.com'); INSERT INTO tbl_user (username, password, email) VALUES ('test12', 'pass12', 'test12@example.com'); INSERT INTO tbl_user (username, password, email) VALUES ('test13', 'pass13', 'test13@example.com'); INSERT INTO tbl_user (username, password, email) VALUES ('test14', 'pass14', 'test14@example.com'); INSERT INTO tbl_user (username, password, email) VALUES ('test15', 'pass15', 'test15@example.com'); INSERT INTO tbl_user (username, password, email) VALUES ('test16', 'pass16', 'test16@example.com'); INSERT INTO tbl_user (username, password, email) VALUES ('test17', 'pass17', 'test17@example.com'); INSERT INTO tbl_user (username, password, email) VALUES ('test18', 'pass18', 'test18@example.com'); INSERT INTO tbl_user (username, password, email) VALUES ('test19', 'pass19', 'test19@example.com'); INSERT INTO tbl_user (username, password, email) VALUES ('test20', 'pass20', 'test20@example.com'); INSERT INTO tbl_user (username, password, email) VALUES ('test21', 'pass21', 'test21@example.com');
注意: 要使用 Yii 的数据库功能,我们需要启用 PHP 的 PDO 扩展和相应的驱动扩展。对于测试应用来说,我们需要启用 php_pdo 和 php_pdo_sqlite 扩展。
yii生成增删该查(CRUD)代码
登陆Gii后,点击链接 Model Generator
。它将显示下面的模型生成页面,再(Table Name *)属性里输入tbl_user出现如下界面
在 Model Class
输入框中,输入 User
。然后点击 Preview
按钮。这里将展示将要生成的新文件。
现在点击 Generate
按钮。一个名为 User.php
将生成到 protected/models
目录中。如我们稍后描述的, User
模型类允许我们以面向对象的方式来访问数据表 tbl_user。如图
生成 CRUD 代码
在创建模型类之后,我们将生成执行 CRUD 操作的代码。我们选择 Gii 中的 Crud Generator
,如下所示,
在 Model Class
输入框中,输入 User
。在 Controller ID
输入框中,输入 user
(小写格式)。现在点击 Preview
按钮后出现如图
点击Generate
按钮。CRUD 代码生成完成了,如图
代码生成路径为
/yanshi/protected/controllers /yanshi/protected/views/user
点击 try it now 链接出现user的列表界面,如图
点击 Manage User 进入user的管理界面,如图
到此为止一个完整的yii增删改查的模块就做好了,而且我们现在还没有亲手写一行代码。