利用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 包含了继承自 CActiveRecordUser 类,可用于访问 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.phpviews/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

      为了更好地理解这些文件是如何使用的,我们在下面列出了当显示一个日报列表时发生的工作流程。

      1. 用户请求访问这个 URL http://www.example.com/mysite/index.php?r=post;
      2. 入口脚本 被Web服务器执行,它创建并实例化了一个 应用实例来处理此请求;
      3. 应用创建并执行了 PostController 实例;
      4. PostController 实例通过调用它的 actionIndex() 方法执行了 index 动作。注意,如果用户没有在URL中指定执行一个动作,则 index 就是默认的动作;
      5. actionIndex() 方法查询数据库,带回最新的日志列表;
      6. actionIndex() 方法使用日志数据渲染 index 视图。

php的yii框架开发总结3的更多相关文章

  1. YII框架开发一个项目的通用目录结构

    YII框架开发一个项目的通用目录结构: 3 testdrive/ 4 index.php Web 应用入口脚本文件 5 assets/ 包含公开的资源文件 6 css/ 包含 CSS 文件 7 ima ...

  2. PHP Yii框架开发——组织架构网站重构

    最近一段时间在维护公司的组织架构网站(Org),旧版网站只是用了xampp简单搭建了一套环境部署在了windows机器上,代码结构相对简单. 整个架构如下: 整个架构没有用到复杂的结构,class里放 ...

  3. php的yii框架开发总结1

    最近用php的yii框架写了一个小的demo,虽然不复杂,但是也学习了很多东西,现在总结一下. 项目需求:为几个教研室写一个日报系统,每个人每天写日报,并且系统有自动实现发邮件功能. 额外要求:1.人 ...

  4. php的yii框架开发总结2

    开发流程:1.用yii创建网站目录,当时用命令行创建时遇到了问题,试了很久才找到原因:我的原因是在yii/framework/yiic.bat这个文件中的一条语句: if "%PHP_COM ...

  5. php的yii框架开发总结9

    这一篇讲解怎么实现的自动发邮件的功能,我在网上查了很多资料,很多都是用定时检测来实现的,我试过,效率太低,网站也卡了. 后来就写了一个.bat文件来实现刷新页面,用了windows的定时任务定时来运行 ...

  6. php的yii框架开发总结10

    1.CActiveForm是Chtml类的封装,但是它有数据验证的功能,有三种方式:服务器端.客户端.Ajax数据验证. 服务器端验证:当整个表单页面被提交后,在服务器端 进行验证.如果存在任何验证错 ...

  7. php的yii框架开发总结8

    EMailer是一个简单的封装PHPMailer类.利用这个扩展可以实现发邮件的功能. 下载地址:http://www.yiiframework.com/extension/mailer/ 下载解压把 ...

  8. php的yii框架开发总结7

    protected\config\main.php是整个网站中很重要的一个文件,引用文件,连接数据库,默认页面等都是在这里设置: 'import'=>array( 'application.mo ...

  9. php的yii框架开发总结6

    MVC中的Controller部分,所有的controller类都是继承自Controller基类,基类里面包含actionAdmin-管理员,actionIndex-一般默认显示,actionVie ...

  10. php的yii框架开发总结5

    MVC架构之model类: 我的日报系统用到的数据表:tbl_dailyreport表 其中anthor_id是外键,对应tbl_user数据表的主键id,下面是tbl_user表 class Dai ...

随机推荐

  1. springcloud系列八 整合Hystrix

    feign本身是支持Hystrix的,所以不需要引入其他依赖: 我们可以看看feign这个项目的依赖,就是引入这个依赖的pom.xml 要想看这个很简单,点击那个依赖进去就可以了 点进去就可以看到 & ...

  2. gradle 使用本地maven 仓库 和 提交代码到maven

    /* * This build file was generated by the Gradle 'init' task. * * This generated file contains a sam ...

  3. Web项目和Windows应用程序的配置文件

    1.Web项目,配置文件应创建在Web项目下,即使是要把配置文件作为一个单独的文件进行配置(比如log4net.config),也需要把该配置文件放在Web项目下:同理Windows应用程序的化,配置 ...

  4. POJ3074 Sudoku 剪枝深(神?)搜

    emm...挺秀的...挺神的? 每行,每列,每宫用一个二进制数表示选或没选的状态,刚开始设没选为1,然后更改状态的时候异或一下就好了: 这样可以通过lowbit取出每一个没有选过的数:(妙啊? 关于 ...

  5. HDU 1565 方格取数(简单状态压缩DP)

    http://acm.hdu.edu.cn/showproblem.php?pid=1565 对于每一个数,取或者不取,用0表示不取,1表示取,那么对于每一行的状态,就可以用一个二进制的数来表示.比如 ...

  6. hdu2066一个人的旅行(disjkstra)

    一个人的旅行 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Subm ...

  7. SoapUI性能测试

    之前没发现SoapUI可以做性能测试,自己写了两个简单的例子,体验一下它的测试功能. 一.使用控件顺序执行 测试的框架如上图所示,一个TestCase包含Test Steps(具体的测试步骤),Loa ...

  8. IIS Express 无法启动

    IIS Express 无法启动1. \.vs\config\applicationhost.config2. 打开.csproject 中把 <UseIIS> 改成 False ---- ...

  9. Jenkins安全配置详解

    一.进入安全配置界面 首页后点击进入系统管理(Manage Jenkins) ——下拉下方看到安全配置(Configure Global Security) ——进入安全配置界面 二,详解安全配置的选 ...

  10. mgo03_linux7上安装mongo4.0

    下载地址https://www.mongodb.com/download-center#community tar -xvf mongodb-linux-x86_64-rhel70-4.0.0.tgz ...