核心解读

    Core类是一个单例对象,在整个EasySwoole生命周期中,Core对象只会被实例化一次,实例化后初始化了几个框架常量:

    • 引入EasySwooleEvent.php配置文件,进行框架事件注册
    • 执行EasySwooleEvent.php的初始化initialize事件(可进行配置的修改,log目录等的修改,以及 类的注册)
    • 初始化临时目录和log目录
    • 注册错误回调,实现捕捉框架错误

    创建swoole主服务
    createServer方法中,主要做了以下事情:

    • 创建swoole主服务
    • 注册主服务回调事件(根据配置的SERVER_TYPE 不同注册不同的事件)
    • 执行的mainServerCreate事件(可新增回调事件,新增子服务监听等)
    • 执行额外的组件初始化(Console,Crontab,fastCache,Actor)
    • 获取可能在新增的子服务监听回调等事件,进行子服务注册
    • 调用swoole服务start方法,服务正式启动

    http调度

    • 把\swoole_http_request、swoole_http_response转化为PSR7的Request与response对象。
    • 执行全局事件容器中的onRequest事件
    • 对请求执行dispatch。
    • 执行全局事件容器中的afterAction事件。
    • 执行内容响应(Swoole http server write 与end)

      关于dispatch调度逻辑,可查看的URL解析规则路由章节