本文基础环境: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()前开启协程来实现协程服务器.
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。