Amp PHP 非阻塞并发框架开源项目

我要开发同款
匿名用户2009年11月25日
59阅读
开发技术PHP
所属分类程序开发、并发/并行处理框架
授权协议MIT

作品详情

Amp是一个PHP非阻塞并发框架,它提供了一个事件循环,promise 和stream作为异步编程的基础。与生成器结合使用的promise用于构建协程,它允许像同步代码一样编写异步代码,而不需要任何回调。

demo:

<?phpuseAmp\Artax\Response;useAmp\Loop;require__DIR__.'/../vendor/autoload.php';Loop::run(function(){$uris=["https://google.com/","https://github.com/","https://stackoverflow.com/",];$client=newAmp\Artax\DefaultClient;$client->setOption(Amp\Artax\Client::OP_DISCARD_BODY,true);try{foreach($urisas$uri){$promises[$uri]=$client->request($uri);}$responses=yield$promises;foreach($responsesas$uri=>$response){print$uri."-".$response->getStatus().$response->getReason().PHP_EOL;}}catch(Amp\Artax\HttpException$error){//IfsomethinggoeswrongAmpwillthrowtheexceptionwherethepromisewasyielded.//TheClient::request()methoditselfwillneverthrowdirectly,butreturnsapromise.print$error->getMessage().PHP_EOL;}});
声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论