关于php:Swoft的HttpServer启动及请求工作流程一创建Server

44次阅读

共计 480 个字符,预计需要花费 2 分钟才能阅读完成。

本文根底环境:
swoftcli --version

http-server 目录:
/vendor/http-server/src

server 创立及 start 入口:
/vendor/http-server/src/HttpServer.php

server 创立代码:
$this->swooleServer = new SwooleHttpServer($this->host, $this->port, $this->mode, $this->type);

先看 swoft 官网定义:

问题来了:

 既然 swoft 是协程框架, 为何 server 是 new 的 `\Swoole\Http\Server` 而不是 swoole 官网 demo 中的 `Swoole\Coroutine\Http\Server`?

要想解释这个问题, 咱们且先看接下来的代码 $this->startSwoole():

 此办法在父类 `\Swoft\Server\Server`(`/vendor/server/src/Server.php`) 中的定义如下:


这里能够看出 swoft 通过在 server->start() 前开启协程来实现协程服务器.

正文完
 0