Swoole 是一个 PHP 协程框架,为 PHP 提供协程、高性能网络编程支持,并提供了多种通信协议的网络服务器和客户端模块,可以方便快速地实现 TCP/UDP 服务、高性能 Web、WebSocket 服务、物联网、实时通讯、游戏、微服务等,使 PHP 不再局限于传统的 Web 领域。(来自 Swoole 官网先容)Reddit 上的一篇帖子引用了@matyhtf 在 PHP 内部发送的邮件,里面提到他担心 Fiber 只能在 AmPHP 这种框架中使用,而对于其他普通的 PHP Web 项目没有价值。这篇帖子在 Reddit 引起了不少讨论,有人认为 Fiber 是 generator 的升级版本,它是协程的最小化焦点实现,并且不会对 PHP 产生倒霉影响,将它集成到 PHP 有利于发展和探索未来的异步生态。也有人质疑@matyhtf 投反对票是由于担心此提案会对 Swoole 的商业化 (Swoole Plus) 造成影响。
我要表达的意思是 “Fiber 主要是提供给 amphp 和 reactphp 如许 php 实现的异步框架使用的,对于普通 PHP Web 项目没有太大价值”。@matyhtf 表示他给 Fiber RFC 投反对票与 Swoole 无关,由于 Swoole 是一个纯粹的开源技术项目,而不是商业产物。假如有可能,他甚至愿意修改 Swoole 的 Copyright,并将 swoole-src 的源代码贡献给 php-src。不过对于 PHP 支持协程的提案,他认为这是一项重大变更,应该进行深入讨论,从语法、尺度库和 ZendVM 方面进行重新设计,而不是急忙做出决定。
……
对于 Fiber RFC 我的观点是,发起先作为一个 PECL 扩展,PHP 内核开发者能够思考清楚 PHP 未来协程的团体技术体系和实现方式后再做决定。实际上异步编程颠覆了 PHP 一直以来的设计哲学和编程模式。假如 PHP 语言官方决定要支持像 Node.js、Golang、Swoole 如许的异步/协程并发编程模式,那么就需要系统性思考一下团体的架构,以及完整的实现。
欢迎光临 创意电子 (https://wxcydz.cc/) | Powered by Discuz! X3.4 |