当前位置:Gxlcms > PHP教程 > mvc分层里model的分层思路

mvc分层里model的分层思路

时间:2021-07-01 10:21:17 帮助过:43人阅读

单说model层
在运用某php框架的基础上
自己分封装的curd数据的基本通用方法、
带有一些特定逻辑的处理数据方法、
一般是以怎么结构存在model层里的
大家可以把自己做的项目的分层思路贴出来~
可不可以在层里运用静态方法
来提高速度
以上

回复内容:

单说model层
在运用某php框架的基础上
自己分封装的curd数据的基本通用方法、
带有一些特定逻辑的处理数据方法、
一般是以怎么结构存在model层里的
大家可以把自己做的项目的分层思路贴出来~
可不可以在层里运用静态方法
来提高速度
以上

model是业务逻辑的层,会比较复杂。

我一般会把model分为3层

  1. 底层:curd,和数据库直接打交道,和业务无关。
  2. 中间层:由于底层的curd和业务无关,中间层通过组合底层模型的方法来实现一些比较复杂的逻辑,比如用户登陆功能,先得过滤表单,然后调用底层的模型去数据库查询,如果成功要更新一些记录(上次登陆时间、ip等),如果失败要写一些日志。总之就是组合调用底层封装好的模型,实现常用的功能。
  3. 上层:更抽象,组合调用中间层来实现特定逻辑。这一层的更偏向非公用的,而像用户登录、注册或者发文章这类的,几乎所有系统都会用到,就写到中间层去。那上次就负责和C层打交道,通过controller得知用户要干嘛,然后把这个请求拆分成不同模块交给中间层去干。

当然上层其实并不是必要的,这类逻辑你也可以写在controller,但是我更喜欢写在model里,这样controller会更加一目了然,分得更细,就更好查错,耦合也更低

model层一般用于做针对数据模型的业务逻辑,跟control层的业务逻辑是有差别的。
静态方法当然可以放在model层中,给control层调用。

如果系统庞大复杂,可以进行业务领域模型建模。

FormModel
ActiveRecordModel
LogicModel

人气教程排行