php用chuanzhi的mvc模式增删改查分析

以下针对单表

一、增:

a、 请求控制器insert操作,显示一个form表单,表单控件name属性值对应数据库字段

b、表单提交到控制器的insert操作,接收参数调用模型验证方法后,再调用模型添加方法添加数据到表。

二、删:

请求控制器delete操作,接收id调用模型删除方法。如果是逻辑删除,删除方法实际是对字段值更新

三、改:

a、 请求控制器update操作,多一个参数id,并调用模型方法查出当前id的数据行(返回php一维关联数组)。显示一个form表单,表单控件name属性值对应数据库字段,同时value值应显示为字段的值,并添加一个隐藏域作为提交数据的id参数.

b、表单提交到控制器的update操作,多一个参数id(post提交),接收参数调用模型验证方法后,再调用模型修改方法修改对应行的数据。

由于改比增form多一个显示数据功能,所以可以两个操作用同一个模板。但应注意提交的操作不同。增改操作参数难可调用模型同一个验证方法。

四、查:

请求控制器的select/list操作,调用模型查询方法查询表多行数据(返回php二维数组-由一维关联数组组合起来),显示一个列表页,在列表页中用php循环出所有行数据(循环上面的php二维数组)。

在列表页通常有分页、搜索功能,可以后面添加,其实质是向select操作提交一些参数,参数对应到数据库字段,用在where子句或limit子句...

五、小结

数据库字段是关键:如一个标题(title变量)路程:在数据库表中字段名称为title,在表单中可以为title,在php中为变量$title。三者合一,其实如出一处,这样业务逻辑反应在数据库中,并与程序紧密联系起来了。

六、框架改进及不足:

增加:

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();



  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值