您的位置:首页 > 编程语言 > PHP开发

php的yii框架开发总结3

2013-08-08 13:15 211 查看
  利用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
视图。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: