Swoole 2.0 正式版发布,协程特性支持 PHP 7

Posted codexueyuan

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Swoole 2.0 正式版发布,协程特性支持 PHP 7相关的知识,希望对你有一定的参考价值。

  Swoole 2.0正式版发布了。2.0版本最大的更新是增加了对协程(Coroutine)的支持。正式版已同时支持php5和PHP7。基于Swoole2.0协程PHP开发者可以已同步的方式编写代码,底层自动进行协程调度,转变为异步IO。解决了传统异步编程嵌套回调的问题。

 

        与Node.js(ES6+)、Python等语言使用yield/generator、async/await的实现方式相比,Swoole协程无需修改代码添加额外的关键词。

 

        与Go语言的goroutine相比,Swoole协程是内置式的,应用层代码无需添加go关键词启动协程,只需要使用封装好的协程客户端即可,使用更简单。另外Swoole协程的IO组件在底层内置了超时机制,不需要使用复杂的select/chan/timer实现客户端超时。

 

        目前Swoole底层内置的协程客户端组件包括:udpclient、tcpclient、httpclient、redisclient、mysqlclient,基本涵盖了开发者常用的几种通信协议。协程组件只能在服务器的onConnect、onRequest、onReceive、onMessage 回调函数中使用。

 

使用示例:


UDP客户端:

技术分享图片

 

UDP客户端:
技术分享图片

 

Mysql客户端:
技术分享图片

 

Redis客户端:

技术分享图片

 

Http客户端:

技术分享图片

 




以上是关于Swoole 2.0 正式版发布,协程特性支持 PHP 7的主要内容,如果未能解决你的问题,请参考以下文章

Swoole 4.1.0 正式版发布,支持原生 Redis/PDO/MySQLi 协程化

swoole2-mysqlpool:基于 Swoole 2 协程特性实现的 MySQL 连接池

swoole协程与go协程

swoole和workerman哪个更易开发

think-swoole当中多协程进行访问

swoole一键协程