欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

thinkphp3.2.3的Model目录里是存放什么文件的,是如何与控制器和视图文件相关联的?

程序员文章站 2022-05-26 14:09:25
...
View是视图文件夹我知道,model书上说是模型文件夹,存放封装数据库的相关逻辑.可是基本的数据库逻辑在控制器里也可以定义啊,这里的模型文件夹有什么作用,以及如何与视图、控制器文件相关联?
新人一枚求赐教!
附上我的目录结构


回复讨论(解决方案)

理论上你应该将操作数据库的逻辑代码放在model 中,每个model对应一张数据表,可以更灵活的配置,多处调用
流程就是 进入控制器,调用model 里的方法操作数据,业务流程判断,显示视图

业务逻辑。建议先看看MVC框架。

直接在控制器的方法里使用M方法可以构造出基本的数据表模型,完成单表的增删改查。
如果你想进行连接查询,或者说同时操作多个表的增删改查,你需要在控制器里使用D方法来构造出更加丰富的模型,这时你需要在Model文件夹里定义一些自定义的模型,完成如:自动验证,自动完成,视图模型,关联模型等更加丰富的操作。比如你可以定义一个视图模型OrderViewModel.class.php放在Model文件夹里,写上稍许代码,在控制器里D('OrderView')构造出试图模型进行连接查询,可以看看官方手册是怎么介绍的:document.thinkphp.cn

首先,你要先理解MVC模式。M即模型,它主要来承担数据层的逻辑处理,你所说的在C层也可以进行数据的CURD,当然也是可以的。MVC只是给你提供个更好的开发模式,让数据处理,业务处理和视图分隔开,当然在开发时你即使不按照严格的MVC模式来也是可以的。
如果定义了一个model,那么你在controller中可以D 方法来实例化 ,进行数据的CURD。