Swoft 是一个基于 php swoole 构建的 mvc 框架,也是第一个使用到注解概念的框架. 第一次见到看到的时候,真的是被惊艳了到了.个人非常很喜欢.
所以这次就开读源码的坑!
项目启动时Swoft做了什么
我们知道,启动Swoft框架需要运行一个命令
sudo php bib/swoft http:start
在这个命令结束后,swoft就完成了所有程序的初始化,那么启动时到Swoft 到底做了写什么呢?首先进入项目文件app同级目录 bin 文件夹下有一个 swoft的文件, 这是由 phar 生成的一个可运行文件.内容是:
1 | // Bootstrap |
功能很简单,自动加载文件,开启swoole携程,然后运行程序.
重要的是run方法,该方法在 swoft/framework/src/SwoftApplication.php 文件里.勒种的构造函数
1 | public function __construct(array $config = []) |
此处一目了然 $this->processor->handle() 是把 processors 方法所返回的对象数组全部指向了一遍.从类文件命名我们可以看出程序初始化时
- 初始化 env 文件相关
- 初始化 config 相关
- 初始化 Annotation(注解) 相关
- 初始化 bean 相关
- 初始化事件相关
- 最后初始化控制台相关
关于env与config我们暂且不谈, 从下一篇文章开始我们直接进入 Annotation 也是 swoft 框架中亮点功能开始讲解