php用chuanzhi的mvc模式增删改查分析
2016-07-20 16:20
169 查看
以下针对单表
一、增:
a、 请求控制器insert操作,显示一个form表单,表单控件name属性值对应数据库字段
b、表单提交到控制器的insert操作,接收参数调用模型验证方法后,再调用模型添加方法添加数据到表。
二、删:
请求控制器delete操作,接收id调用模型删除方法。如果是逻辑删除,删除方法实际是对字段值更新
三、改:
a、 请求控制器update操作,比增多一个参数id,并调用模型方法查出当前id的数据行(返回php一维关联数组)。显示一个form表单,表单控件name属性值对应数据库字段,同时value值应显示为字段的值,并添加一个隐藏域作为提交数据的id参数.
b、表单提交到控制器的update操作,比增多一个参数id(post提交),接收参数调用模型验证方法后,再调用模型修改方法修改对应行的数据。
由于改比增form多一个显示数据功能,所以可以两个操作用同一个模板。但应注意提交的操作不同。增改操作参数难可调用模型同一个验证方法。
[b][b]四、查:
[/b][/b]
请求控制器的select/list操作,调用模型查询方法查询表多行数据(返回php二维数组-由一维关联数组组合起来),显示一个列表页,在列表页中用php循环出所有行数据(循环上面的php二维数组)。
在列表页通常有分页、搜索功能,可以后面添加,其实质是向select操作提交一些参数,参数对应到数据库字段,用在where子句或limit子句...
五、小结
数据库字段是关键:如一个标题(title变量)路程:在数据库表中字段名称为title,在表单中可以为title,在php中为变量$title。三者合一,其实如出一处,这样业务逻辑反应在数据库中,并与程序紧密联系起来了。
[b][b]六、框架改进及不足:[/b][/b]
增加:
1、显示模板方法:方法只要传入业务模板就可以,模板公用部分会自动添加进来;
2、分配变量方法:操作中用关联数组分配变量,在模板中从$output中取出,php标签可以直接用;
改进:
1、模型增加方法,是写sql原生语句,这样不方便,可以完善为$this->table()->add($data);
2、同样更新方法为$this->table()->where($str/$arr)->update($data);
3、删除方法为$this->table()->where($str/$arr)->delete($id);
4、查询方法为:$this->table()->where($str/$arr)->order()->group()->limit()->getList();
一、增:
a、 请求控制器insert操作,显示一个form表单,表单控件name属性值对应数据库字段
b、表单提交到控制器的insert操作,接收参数调用模型验证方法后,再调用模型添加方法添加数据到表。
二、删:
请求控制器delete操作,接收id调用模型删除方法。如果是逻辑删除,删除方法实际是对字段值更新
三、改:
a、 请求控制器update操作,比增多一个参数id,并调用模型方法查出当前id的数据行(返回php一维关联数组)。显示一个form表单,表单控件name属性值对应数据库字段,同时value值应显示为字段的值,并添加一个隐藏域作为提交数据的id参数.
b、表单提交到控制器的update操作,比增多一个参数id(post提交),接收参数调用模型验证方法后,再调用模型修改方法修改对应行的数据。
由于改比增form多一个显示数据功能,所以可以两个操作用同一个模板。但应注意提交的操作不同。增改操作参数难可调用模型同一个验证方法。
[b][b]四、查:
[/b][/b]
请求控制器的select/list操作,调用模型查询方法查询表多行数据(返回php二维数组-由一维关联数组组合起来),显示一个列表页,在列表页中用php循环出所有行数据(循环上面的php二维数组)。
在列表页通常有分页、搜索功能,可以后面添加,其实质是向select操作提交一些参数,参数对应到数据库字段,用在where子句或limit子句...
五、小结
数据库字段是关键:如一个标题(title变量)路程:在数据库表中字段名称为title,在表单中可以为title,在php中为变量$title。三者合一,其实如出一处,这样业务逻辑反应在数据库中,并与程序紧密联系起来了。
[b][b]六、框架改进及不足:[/b][/b]
增加:
1、显示模板方法:方法只要传入业务模板就可以,模板公用部分会自动添加进来;
2、分配变量方法:操作中用关联数组分配变量,在模板中从$output中取出,php标签可以直接用;
改进:
1、模型增加方法,是写sql原生语句,这样不方便,可以完善为$this->table()->add($data);
2、同样更新方法为$this->table()->where($str/$arr)->update($data);
3、删除方法为$this->table()->where($str/$arr)->delete($id);
4、查询方法为:$this->table()->where($str/$arr)->order()->group()->limit()->getList();
相关文章推荐
- 一个关于if else容易迷惑的问题
- PHP5.2.*防止Hash冲突拒绝服务攻击的Patch
- 深入理解PHP之匿名函数
- JSP/PHP基于Ajax的分页功能实现
- 关于PHP通过PDO用中文条件查询MySQL的问题。
- 什么是设计模式
- PHP数据库长连接mysql_pconnect的细节
- Php Installing An Expansion
- rem : web app适配的秘密武器
- jquery高级应用之Deferred对象
- 关于浮动与清除浮动,你应该知道的
- 数组reduce方法的高级技巧
- php7 读取php.ini[4]
- PHP+Apache在Windows 9x下的安装和配置
- IIS 6 的 PHP 最佳配置方法
- 安装Apache和PHP的一些补充
- Linux Apache+MySQL+PHP
- 建立Apache+PHP+MySQL数据库驱动的动态网站