hyperf记录(一)
核心架构
生命周期
因为hyperf是基于swoole的,swoole是基于php的,所以了解hyperf生命周期要从php的生命周期开始
php生命周期:
现在有一个index.php,我们通过命令行运行以下命令:
# php -f index.phpphp首先会进入minit阶段,即模块初始初始化阶段,php在这个阶段会做以下操作:
初始化所有已安装的模块
初始化内核,Zend引擎
以上工作完成后php开始处理请求,此时我们的请求只有一个就是处理index.php
处理请求的时候php会进入请求启动阶段RINIT,php在这个阶段会做以下操作:
初始化index.php运行的基本环境,然后完成index.php的编译。
在RINIT阶段完成之后,开始运行index.php的内容。
当index.php运行完毕之后就会php进入RSHUTDOWN(请求关闭)阶段,php将会把index.php运行之后所返回内容返回给命令行,并清理index.php所占用的内存,关闭php执行器。
因为我们的请求就只有一个,所以接下来php就会进入MSHUTDOWN(模块关闭)阶段,在这个阶段里面,php就会把所有的模块全部关闭,并清理模块所运行的程序,清理完之后,php就把自己一同关闭掉,整个php生命周期就完成了。
大约 17 分钟