php写法问题

我想问下大家代码平时是怎么拆分的。
比如一个表单,传递给控制器,控制器执行保存、修改,表单需要进行逻辑判断。
一般大家是怎么拆分的。
以下是我知道的几个方法:
1.全部写控制器,一条线写完;
2.一个控制器调用一个model方法,model调用多个其它方法得到最后结果,最终返回给控制器
3.一个控制器根据业务流程,一个步骤调用一次model方法,最终完成。
那种方法合适

慕妹3242003
浏览 395回答 3
3回答

蝴蝶刀刀

举个例子,具体的业务逻辑肯定更复杂; class Response { public static function send($data) { echo json_encode($data); } } class Request { public static function post($key = null) { return isset($_POST[$key]) ? $_POST[$key] : $_POST; } } class Controller { public function create() { $data = Request::post(); $result = (new Model())->create($data); Response::send($request); } } class Model { public function create($data) { // 开启事务 try { (new CommentModel())->create($data['member_id'],$data['content']); // 保存评论 (new IntegralModel())->update($data['member_id'],5); // 更新积分 // 提交事务 } catch(Exception $e) { // 事务回滚 } } } class CommentModel { public function create($member_id,$content) { throw new Exception('保存失败'); } } class IntegralModel { public function update($member_id,$integral) {} } 主要想表达一个什么意思呢?程序逻辑尽量清晰,每个方法该干什么就尽量把职责进行区分,不要放到一起,代码又长又臭。 而且,不同的业务逻辑还会运用到设计模式。

守着星空守着你

所以,这就是为什么大家现在用的框架不仅仅只是个MVC了,慢慢的使用了cache层,service层,依赖注入等等理念来解决问题,JS的趋势也从MVC走向了MVVM。

一只甜甜圈

MVC的整体设计方案。我个人在实际开发的过程中是在controller和model层之间增加了一个service层,主要做业务逻辑代码。 1.在controller写model的操作绝对是不合适的。2.model封装一些简单的数据操作。3.在service写业务逻辑代码,controller层调用service,service层的代码复用率就会变高。4.整体解耦,有利于代码的整洁和维护。5.model层可以做一些数据表相关的其他封装。 当然你可以有其他的结构思路,这边我只是提供了自己的理解。
打开App,查看更多内容
随时随地看视频慕课网APP