PHP

thinkphp 框架HTTP请求流程

thinkphp 框架HTTP请求流程

对于一个HTTP应用来说,从用户发起请求到响应输出结束,大致的标准请求流程如下:

  • 载入Composer的自动加载autoload文件
  • 实例化系统应用基础类think\App
  • 获取应用目录等相关路径信息
  • 加载全局的服务提供provider.php文件
  • 设置容器实例及应用对象实例,确保当前容器对象唯一
  • 从容器中获取HTTP应用类think\Http
  • 执行HTTP应用类的run方法启动一个HTTP应用
  • 获取当前请求对象实例(默认为 app\Request 继承think\Request)保存到容器
  • 执行think\App类的初始化方法initialize
  • 加载环境变量文件.env和全局初始化文件
  • 加载全局公共文件、系统助手函数、全局配置文件、全局事件定义和全局服务定义
  • 判断应用模式(调试或者部署模式)
        

PHP错误处理异常处理类

PHP错误处理异常处理类,依赖Monolog.

<?php
use Monolog\Level;
use Monolog\Logger;
use Monolog\Handler\StreamHandler;
class ErrorHandel
{
    private array $levels = [
        \E_DEPRECATED => "Deprecated",
        \E_USER_DEPRECATED => "User Deprecated",
        \E_NOTICE => "Notice",
        \E_USER_NOTICE => "User Notice",
        \E_STRICT => "Runtime Notice",
        \E_WARNING => "Warning",
        \E_USER_WARNING => "User