首页
下载
文档
社区
视频
捐赠
源代码
赞助商
AOT 编译器
AI 助理
商业产品
PHP AOT 原生编译器
Swoole-Compiler 代码加密器
CRMEB 新零售社交电商系统
登录
注册
全部
提问
分享
讨论
建议
公告
开发框架
CodeGalaxy
发表新帖
使用一键协程化后是不需要再使用协程客户端的代码的写法了吗?
文档中的http客户端请求是这样写的: ``` Co\run(function (){ $cli = new Swoole\Coroutine\Http\Client('127.0.0.1', 80); $cli->get('/index.php'); echo $cli->body; $cli->close(); }); ``` 如果按这种写法,要修改的东西有点多,因为我们实际的代码是: ``` $cli = new Request('127.0.0.1/index.php', 'get'); echo $cli->sendRequest(); $cli->close(); ``` Request实际是使用curl请求的,看文档swoole已经hook了curl函数,那我把代码改成: ``` Co::set(['hook_flags' => SWOOLE_HOOK_CURL]); Co\run(function (){ go(function () { // 这句一定要加吗?前面的例子没有这句 $cli = new Request('127.0.0.1/index.php', 'get'); echo $cli->sendRequest(); $cli->close(); }); }); ``` 这样就已经自动协程化了吗?
发布于6年前 · 4 次浏览 · 来自
提问
xilin693
文档中的http客户端请求是这样写的: ``` Co\run(function (){ $cli = new Swoole\Coroutine\Http\Client('127.0.0.1', 80); $cli->get('/index.php'); echo $cli->body; $cli->close(); }); ``` 如果按这种写法,要修改的东西有点多,因为我们实际的代码是: ``` $cli = new Request('127.0.0.1/index.php', 'get'); echo $cli->sendRequest(); $cli->close(); ``` Request实际是使用curl请求的,看文档swoole已经hook了curl函数,那我把代码改成: ``` Co::set(['hook_flags' => SWOOLE_HOOK_CURL]); Co\run(function (){ go(function () { // 这句一定要加吗?前面的例子没有这句 $cli = new Request('127.0.0.1/index.php', 'get'); echo $cli->sendRequest(); $cli->close(); }); }); ``` 这样就已经自动协程化了吗?
赞
0
收藏
提问
分享
讨论
建议
公告
开发框架
CodeGalaxy
登录
后参与评论
评论
2020-03-26
鲁飞
```php Co\run(function () { // 这里已经是协程环境了 }); ``` 看一下文档的[协程容器](https://wiki.swoole.com/#/coroutine/scheduler)
赞
1
回复