首页
技术小册
AIGC
面试刷题
技术文章
MAGENTO
云计算
视频课程
源码下载
PDF书籍
「涨薪秘籍」
登录
注册
Hyperf框架介绍
安装Hyperf
Hyperf生命周期
Hyperf协程
Hyperf配置
Hyperf注解功能
Hyperf中的依赖注入
Hyperf事件机制
Hyperf使用AOP
Hyperf路由
Hyperf中间件
Hyperf控制器
Hyperf请求详解
Hyperf响应详解
Hyperf异常处理
Hyperf中使用缓存
Hyperf中使用日志
Hyperf中使用分页器
Hyperf命令行详解
Hyperf中的视图
Hyperf中的视图引擎
Hyperf中的国际化
Hyperf验证器
Hyperf中的session管理
Hyperf中使用文件系统
Hyperf的数据库操作
Hyperf数据库查询构造器
Hyperf数据库模型
Hyperf模型创建命令
Hyperf关联模型
Hyperf查询分页
Hyperf模型事件
Hyperf模型缓存
Hyperf数据库迁移
Hyperf数据修改器
Hyperf极简DB组件
Hyperf中的API资源构造器
Hyperf模型全文检索
Hyperf微服务架构
Hyperf微服务-JSON RPC服务
Hyperf微服务-服务注册
Hyperf微服务-服务重试
Hyperf微服务-服务熔断与降级
Hyperf微服务-服务限流
Hyperf微服务-配置中心
Hyperf微服务-调用链追踪
Hyperf微服务-服务监控
Hyperf微服务-分布式事务
Hyperf使用snowflake
Hyperf中创建TCP/UDP服务器
Hyperf中创建WebSocket服务器
Hyperf中创建socket.io服务
Hyperf创建协程服务端
Hyperf中的Redis异步队列
Hyperf中使用AMQP 组件
Hyperf集成kafkaf协程客户端
Hyperf集成Redis协程客户端
Hyperf集成Guzzle客户端
Hyperf集成Elasticsearch客户端
Hyperf集成ETCD协程客户端
Hyperf集成websocket协程客户端
Hyperf集成Nacos协程客户端
Hyperf组件-连接池
Hyperf组件-自定义进程
Hyperf组件-辅助类
Hyperf组件-定时任务
Hyperf组件-Task
Hyperf组件-枚举类
Hyperf组件-信号处理器
Hyperf组件-开发者工具
Hyperf组件-Swagger
应用部署-DockerSwarm集群搭建
应用部署-DaoCloud Devops搭建
应用部署-Supervisor部署
应用部署-Nginx反向代理
应用部署-阿里云日志服务
当前位置:
首页>>
技术小册>>
Swoole高性能框架-Hyperf
小册名称:Swoole高性能框架-Hyperf
## 框架生命周期 Hyperf 是运行于 Swoole 之上的,想要理解透彻 Hyperf 的生命周期,那么理解 Swoole 的生命周期也至关重要。 Hyperf 的命令管理默认由 `symfony/console `提供支持*(如果您希望更换该组件您也可以通过改变 skeleton 的入口文件更换成您希望使用的组件)*,在执行 `php bin/hyperf.php start` 后,将由 `Hyperf\Server\Command\StartServer` 命令类接管,并根据配置文件 `config/autoload/server.php` 内定义的 Server 逐个启动。 默认启动了httpServer,并监听9501端口: ```asp <?php declare(strict_types=1); use Hyperf\Server\Event; use Hyperf\Server\Server; use Swoole\Constant; return [ 'mode' => SWOOLE_PROCESS, 'servers' => [ [ 'name' => 'http', 'type' => Server::SERVER_HTTP, 'host' => '0.0.0.0', 'port' => 9501, 'sock_type' => SWOOLE_SOCK_TCP, 'callbacks' => [ Event::ON_REQUEST => [Hyperf\HttpServer\Server::class, 'onRequest'], ], ], ], 'settings' => [ Constant::OPTION_ENABLE_COROUTINE => true, Constant::OPTION_WORKER_NUM => swoole_cpu_num(), Constant::OPTION_PID_FILE => BASE_PATH . '/runtime/hyperf.pid', Constant::OPTION_OPEN_TCP_NODELAY => true, Constant::OPTION_MAX_COROUTINE => 100000, Constant::OPTION_OPEN_HTTP2_PROTOCOL => true, Constant::OPTION_MAX_REQUEST => 100000, Constant::OPTION_SOCKET_BUFFER_SIZE => 2 * 1024 * 1024, Constant::OPTION_BUFFER_OUTPUT_SIZE => 2 * 1024 * 1024, ], 'callbacks' => [ Event::ON_WORKER_START => [Hyperf\Framework\Bootstrap\WorkerStartCallback::class, 'onWorkerStart'], Event::ON_PIPE_MESSAGE => [Hyperf\Framework\Bootstrap\PipeMessageCallback::class, 'onPipeMessage'], Event::ON_WORKER_EXIT => [Hyperf\Framework\Bootstrap\WorkerExitCallback::class, 'onWorkerExit'], ], ]; ``` 关于依赖注入容器的初始化工作,我们并没有由组件来实现,因为一旦交由组件来实现,这个耦合就会非常的明显,所以在默认的情况下,是由入口文件来加载`config/container.php` 来实现的。 ## 请求与协程生命周期 Swoole 在处理每个连接时,会默认创建一个协程去处理,主要体现在 onRequest、onReceive、onConnect 事件,所以可以理解为每个请求都是一个协程,由于创建协程也是个常规操作,所以一个请求协程里面可能会包含很多个协程,同一个进程内协程之间是内存共享的,但调度顺序是非顺序的,且协程间本质上是相互独立的没有父子关系,所以对每个协程的状态处理都需要通过 协程上下文 来管理。
上一篇:
安装Hyperf
下一篇:
Hyperf协程
该分类下的相关小册推荐:
PHP8入门与项目实战(6)
Workerman高性能框架-GatewayWorker
PHP高性能框架-Workerman
Laravel(10.x)从入门到精通(十六)
PHP8入门与项目实战(1)
Swoole入门教程
ThinkPHP项目开发实战
全面构建Magento2电商系统
Laravel(10.x)从入门到精通(一)
Shopify应用实战开发
PHP8入门与项目实战(7)
Magento零基础到架构师(库存管理)