Thinkphp设计模式和执行流程
ThinkPHP设计模式
单例模式:数据库连接DB
工厂模式:比如Db.class.php中的factory()方法
适配器模式:驱动类,数据库
观察者模式:Hook类
注册树模式:绑定容器
外观模式:facade门面模式。
执行流程
1、入口文件(index.php)
1)定义目录常量
2)加载框架引导目录
2、加载框架的引导文件(\thinkphp\start.php)
1) 引导基础文件
2) 对应用进行运转
3、加载框架的基础引导文件(\thinkphp\base.php);
1) 加载系统常量
2) 引入loader类 (\think\loader.php)
3) 引入环境变量
4) 注册自动记载机制
5) 注册异常处理机制(\think\Error.php)
6) 记载惯例配置(\thinkphp\convention.php)
4、运行应用(\think\App.php) 下的run方法;
1)、第一步: 加载当前控制器中 initCommon() 方法
2)、第二步: 加载当前控制器中 init() 方法
a、加载各种配置文件
b、加载公共文件c、加载语言包
c、加载语言包
3)、第三步: 设置时区
4)、第四步: 加载当前控制器 routeCheck() 方法 路由检测
5)、第五步: 调用控制器中exec方法,根据用户请求进行分发处理
6)、第六步: 根据不同请求类型记载对应文件 module方法,加载到对应的控制器和对应方法
5、响应输出
用户看到的所有界面就加载出来了
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人