[学习笔记]ThinkPHP

温故知新,ThinkPHP最近老报RCE,所以,所以学习一下ThinkPHP的开发知识。

ThinkPHP(以下简称TP)使用MVC的设计结构,很多APP的开发后端开发基本采用ThinkPHP来驱动,所以会发现 TPAPP 的后端编写只是用了TP的 ModelController 模块。

总体上,TP有四大内容:

  • M:Model 模型,数据交互
  • V:View 视图,前端展示渲染
  • C:Controller 控制器,逻辑处理
  • R:Router 路由,用户定义URL

一、 模型(Model):

模型类通常完成实际的业务逻辑和数据封装,并返回和格式无关的数据。

模型类并不一定要访问数据库,而且在 5.0 的架构设计中,只有进行实际的数据库查询操作的时候,才会进行数据库的连接,是真正的惰性连接。


二、视图(View):

控制器调用模型类后返回的数据通过视图组装成不同格式的输出。视图根据不同的需求,来决定调用模板引擎进行内容解析后输出还是直接输出。

视图通常会有一系列的模板文件对应不同的控制器和操作方法,并且支持动态设置模板目录。


三、控制器(Controller):

每个模块拥有独立的 MVC 类库及配置文件,一个模块下面有多个控制器负责响应请求,而每个控制器其实就是一个独立的控制器类。

控制器主要负责请求的接收,并调用相关的模型处理,并最终通过视图输出。严格来说,控制器不应该过多的介入业务逻辑处理。

5.0中控制器是可以被跳过的,通过路由我们可以直接把请求调度到某个模型或者其他的类进行处理。


四、URL访问:

http://serverName/index.php(或者其它应用入口文件)/模块/控制器/操作/[参数名/参数值...]

Reference: 《ThinkPHP5开发手册》

发表评论 / Comment

用心评论~

金玉良言 / Appraise
天凉好个秋LV 2
2019-04-30 23:52
这文章给小东水得不太像话啊~

Warning: Cannot modify header information - headers already sent by (output started at /www/wwwroot/blog.dyboy.cn/content/templates/dyblog/footer.php:56) in /www/wwwroot/blog.dyboy.cn/include/lib/view.php on line 23