跳至主要內容
hyperf记录(一)

hyperf记录(一)

核心架构

生命周期

因为hyperf是基于swoole的,swoole是基于php的,所以了解hyperf生命周期要从php的生命周期开始

php生命周期:

现在有一个index.php,我们通过命令行运行以下命令:

# php -f index.php

php首先会进入minit阶段,即模块初始初始化阶段,php在这个阶段会做以下操作:

  1. 初始化所有已安装的模块

  2. 初始化内核,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生命周期就完成了。


Mr.Lexon大约 17 分钟back-endback-endphphyperf
工作的一些经验记录

工作的一些经验记录

函数输入

当函数输入需要数组或者字符串时,可以使用:

function a($a){
	if(is_string($a)){
		$a = [$a]
	}
}

Mr.Lexon大约 2 分钟back-endback-endphplaravelhyperf