thinkphp源码详细阅读(二)

请求流程

  1. 实例化 http ,注入 app 和设置 routePath
  2. 执行 run 方法,首先初始化 initialize,初始化操作是在容器 app 中执行
  3. 初始化执行的是,记录初始化标记、开始时间、开始内存、加载环境变量、配置文件后缀、设置调试模式、加载配置文件、加载语言配置、加载语言包、触发 AppInit 事件、设置时区、注册错误和异常处理、注册系统服务、启动系统服务
  4. 其中加载配置文件执行的是,引入自定义函数、系统帮助函数、配置文件、注册事件、注册服务
  5. 初始化这个过程代码还是相对较多的,不过阅读起来也是相对简单的,有点耐心即可
  6. 创建 request 对象,然后绑定到容器中,然后执行运行程序
  7. 加载全局中间件,并给中间件放入执行队列
  8. 触发 HttpRun 事件,然后调度管道

下一期

  1. 管道分析 pipeline
03-05 23:26