基于 PHP 协程的网络服务框架,提供最简单的方式开发面向 C10K+ 的高并发 HTTP 服务或 SOA 服务。
- 基于
yield
实现了独立堆栈的协程 - 类似于 Golang 的并发编程模型实现
- 基于 swoole 提供非阻塞I/O服务
- 连接池支持(内置 MySQL、Redis、syslog 等多种组件)
- 类似 Golang 的 defer 机制解决由于异常导致的资源未释放、锁未释放的问题
- 可继承的View布局及组件化支持,方便完成 bigPipe/bigRender/ 首屏加载优化等不同的渲染方式
- 基于模型驱动的 SQLMap,实现了 SQL 的快速定位及方便的 sharding、cache 支持
- 提供类似于 Laravel 的 middleware(Filters & Terminators) 机制
- Di及单元测试的良好支持
- 良好的服务化对接支持
Zan 的定位是高并发 Web 服务或业务中间件。
Zan 参考了很多 Golang 特性,不过目的绝不是为了替换掉 Golang。
PHP 在业务系统开发上的优势明显,而 Golang 相信会是将来系统编程的霸主。
Zan 和 Golang 的边界是:Zan做业务系统;Golang 做系统(中间件或基础服务组件)。
而 Zan 和 Golang 编程模型的驱近,是希望能给PHP程序员一个更好的桥梁到 Golang。
理想的技术栈是:Zan + Go + 少量的 C/C++。
当然对于致力于终身coding的码农来说:Java依然是很难跨过去的坎。
Zan PHP 的文档仓库地址:zan-doc。目前只有中文的文档,欢迎英语大牛翻译成英文的。
在线查看文档 http://doc.zanphp.io/ ✈
- zan-doc - Zan PHP 开发者文档
- zan-installer - Zan PHP 脚手架工具
- zanhttp - Zan PHP HTTP demo
- PHP异步编程: 手把手教你实现co与Koa
官网:点我进入 QQ群:115728122
Zan PHP 框架基于 MIT license 进行开源。