利用yii里面的gii工具可以很容易的自动创建数据表相应的的CURD操作的基于MVC的文件:
首先,打开:自己网站/protected/config/main.php
文件
'modules'=>array( 'gii'=>array( 'class'=>'system.gii.GiiModule', 'password'=>'这儿设置一个密码', ), ),
浏览器打开http://localhost:8088/yii/mysite/index.php?r=gii 当然路径要根据自己的网站目录改正。
如果url规则改过,也可能是:http://localhost:8088/yii/mysite/index.php/gii
登陆之后界面:
点击 Model Generator
链接开始使用模型创建工具。
在 Model Generator
页中,在Table Name
一栏输入 tbl_user
(用户表的名字),然后按下 Preview
按钮。一个预览表将显示在我们面前。我们可以点击表格中的链接来预览要生成的代码。如果一切OK,我们可以按下 Generate
按钮来生成代码并将其保存在一个文件中。
提示: 我们还可以在 Table Name
栏中输入一个星号 '*' 。这样就可以通过一次点击就对 所有的 数据表生成相应的模型类。
通过这一步,我们就有了如下新创建的文件:
models/User.php
包含了继承自 CActiveRecord 的User
类,可用于访问tbl_user
数据表;
实现 CRUD 操作
模型类建好之后,我们就可以使用 Crud Generator
来创建为这些模型实现CRUD操作的代码了。我们将对 Post
模型执行此操作。
在 Crud Generator
页面中,Model Class
一栏输入 Post
(就是我们刚创建的 Post 模型的名字) ,然后按下 Preview
按钮。我们会看到有很多文件将被创建。按下 Generate
按钮来创建它们。
让我们看一下通过CRUD生成器生成的这些文件。所有的文件都创建在了 /wwwroot/blog/protected
目录中。为方便起见,我们把它们分组为控制器(Controller)文件和 视图(View)文件:
-
控制器文件:
controllers/PostController.php
包含负责所有CRUD操作的PostController
控制器类;
-
视图文件:
views/post/create.php
一个视图文件,用于显示创建新日志的 HTML 表单;views/post/update.php
一个视图文件,用于显示更新日志的 HTML 表单;views/post/view.php
一个视图文件,用于显示一篇日志的详情;views/post/index.php
一个视图文件,用于显示日志列表;views/post/admin.php
一个视图文件,用于在一个带有管理员命令的表格中显示日志;views/post/_form.php
一个插入views/post/create.php
和views/post/update.php
的局部视图文件。它显示用于收集日志信息的HTML表单;views/post/_view.php
一个在views/post/index.php
中使用的局部视图文件。它显示单篇日志的摘要信息;views/post/_search.php
一个在views/post/admin.php
中使用的局部视图文件。它显示一个搜索表单;现在我们可以访问:http://www.example.com/blog/index.php?r=post
为了更好地理解这些文件是如何使用的,我们在下面列出了当显示一个日报列表时发生的工作流程。
- 用户请求访问这个 URL
http://www.example.com/mysite/index.php?r=post
; - 入口脚本 被Web服务器执行,它创建并实例化了一个 应用实例来处理此请求;
- 应用创建并执行了
PostController
实例; PostController
实例通过调用它的actionIndex()
方法执行了index
动作。注意,如果用户没有在URL中指定执行一个动作,则index
就是默认的动作;actionIndex()
方法查询数据库,带回最新的日志列表;actionIndex()
方法使用日志数据渲染index
视图。
- 用户请求访问这个 URL