php的yii框架开发总结3
利用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
php的yii框架开发总结3的更多相关文章
- YII框架开发一个项目的通用目录结构
YII框架开发一个项目的通用目录结构: 3 testdrive/ 4 index.php Web 应用入口脚本文件 5 assets/ 包含公开的资源文件 6 css/ 包含 CSS 文件 7 ima ...
- PHP Yii框架开发——组织架构网站重构
最近一段时间在维护公司的组织架构网站(Org),旧版网站只是用了xampp简单搭建了一套环境部署在了windows机器上,代码结构相对简单. 整个架构如下: 整个架构没有用到复杂的结构,class里放 ...
- php的yii框架开发总结1
最近用php的yii框架写了一个小的demo,虽然不复杂,但是也学习了很多东西,现在总结一下. 项目需求:为几个教研室写一个日报系统,每个人每天写日报,并且系统有自动实现发邮件功能. 额外要求:1.人 ...
- php的yii框架开发总结2
开发流程:1.用yii创建网站目录,当时用命令行创建时遇到了问题,试了很久才找到原因:我的原因是在yii/framework/yiic.bat这个文件中的一条语句: if "%PHP_COM ...
- php的yii框架开发总结9
这一篇讲解怎么实现的自动发邮件的功能,我在网上查了很多资料,很多都是用定时检测来实现的,我试过,效率太低,网站也卡了. 后来就写了一个.bat文件来实现刷新页面,用了windows的定时任务定时来运行 ...
- php的yii框架开发总结10
1.CActiveForm是Chtml类的封装,但是它有数据验证的功能,有三种方式:服务器端.客户端.Ajax数据验证. 服务器端验证:当整个表单页面被提交后,在服务器端 进行验证.如果存在任何验证错 ...
- php的yii框架开发总结8
EMailer是一个简单的封装PHPMailer类.利用这个扩展可以实现发邮件的功能. 下载地址:http://www.yiiframework.com/extension/mailer/ 下载解压把 ...
- php的yii框架开发总结7
protected\config\main.php是整个网站中很重要的一个文件,引用文件,连接数据库,默认页面等都是在这里设置: 'import'=>array( 'application.mo ...
- php的yii框架开发总结6
MVC中的Controller部分,所有的controller类都是继承自Controller基类,基类里面包含actionAdmin-管理员,actionIndex-一般默认显示,actionVie ...
- php的yii框架开发总结5
MVC架构之model类: 我的日报系统用到的数据表:tbl_dailyreport表 其中anthor_id是外键,对应tbl_user数据表的主键id,下面是tbl_user表 class Dai ...
随机推荐
- 04->python字典
字典dict 1.数据类型分类(按可变和不可变) 不可变数据类型:数字.bool.str.tuple 可变数据类型:list.dict.set 2.dict的组成 key:va ...
- Job for postfix.service failed because the control process exited with error code. See "systemctl status postfix.service" and "journalctl -xe" for details.
这是因为防火墙或者配置文件导致,无法启动的邮件服务!! 首先关闭防火墙! 修改配置文件 vim /etc/postfix/main.cf inet_protocols = ipv4 inet_inte ...
- 【STL基础】deque
deque (double-ended queue) 构造函数: //default: deque<T> d; //空的vector //fill: deque<T> d(n) ...
- [Leetcode]017. Letter Combinations of a Phone Number
public List<String> letterCombinations(String digits) { LinkedList<String> ans = new Lin ...
- P4245 【模板】任意模数NTT
Luogu4245 只要做三次的NTT,快的飞起 普通NTT,做9次 #include<cstdio> #include<cstring> #include<iostre ...
- 使用Spring和JQuery实现视频文件的上传和播放
Spring MVC可以很方便用户进行WEB应用的开发,实现Model.View和Controller的分离,再结合Spring boot可以很方便.轻量级部署WEB应用,这里为大家介绍如何使用Spr ...
- bootstrap多选框
不多说,先上图片 本多选框是用的bootstrap的样式为基础,将弹出框css改造,然后自己写的js得到. 下面为全部页面的代码,需要的可以自己改动js,得到自己需要的效果 <!DOCTYPE ...
- 练习五十六:for循环
某个公司采用公用电话传递数据,数据是四位的整数,在传递过程中是加密的,加密规则如下:每位数字都加上5,然后用和除以10的余数代替该数字,再将第一位和第四位交换,第二位和第三位交换 方法一: def o ...
- Python学习笔记_零碎知识
1. 变量本身类型不固定的语言称之为动态语言,与之对应的是静态语言.静态语言在定义变量时必须指定变量类型,如果赋值的时候类型不匹配,就会报错. 2. Python有两种除法: /除法计算结果是浮点数, ...
- python 循环类型
循环: while死循环: important time while 1== 1 print('ok') #当1==1条件成立时,会一直循环输出ok. 因为条件永远成立,所以是死循环 ...