zan 正式开源,异步+非阻塞的PHP框架

简介:

Zan PHP Framework

Zan PHP是基于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 PHP的文档仓库地址:zan-doc。目前只有中文的文档,欢迎英语大牛翻译成英文的。

你也可以在GitBook上查看Zan PHP 的文档 GitBook/zan-doc。

常用链接

zan-doc - Zan PHP 开发者文档

zan-installer - Zan PHP 脚手架工具

zanhttp - Zan PHP HTTP demo

zan-hign-performance-mysql - Zan PHP 高性能MySQL实践

项目地址

http://github.com/youzan/zan

PHPCON视频地址

http://v.youku.com/v_show/id_XMTYzNDUyNDc4OA==.html?f=27589422

文章转载自 开源中国社区[http://www.oschina.net]

相关文章
|
4天前
|
SQL 安全 PHP
PHP 自发布以来一直在 Web 开发领域占据重要地位,PHP 8 更是带来了属性、刚性类型等新特性。
【10月更文挑战第1天】PHP 自问世以来,凭借其易用性和灵活性,在 Web 开发领域迅速崛起。从简单的网页脚本语言逐步演进为支持面向对象编程的现代语言,尤其自 PHP 5.3 引入命名空间后,代码组织和维护变得更加高效。PHP 7 的性能优化和 PHP 8 的新特性(如属性和刚性类型)进一步巩固了其地位。框架如 Laravel、Symfony、Yii2 和 CodeIgniter 等简化了开发流程,提高了效率和安全性。
23 2
|
1月前
|
程序员 PHP UED
一直让 PHP 程序员懵逼的同步阻塞异步非阻塞,终于搞明白了
【9月更文挑战第8天】恭喜你掌握了同步阻塞和异步非阻塞的概念,这是许多 PHP 程序员容易困惑的地方。同步阻塞指代码按顺序执行,需等待操作完成;异步非阻塞则允许后台执行操作,不阻塞程序。理解这些概念能显著提升程序性能和用户体验,特别是在高并发场景和分布式系统中。随着技术发展,越来越多的 PHP 框架支持异步编程,掌握这些概念将让你在开发中更得心应手。
|
20天前
|
设计模式 SQL 安全
PHP中的设计模式:单例模式的深入探索与实践在PHP的编程实践中,设计模式是解决常见软件设计问题的最佳实践。单例模式作为设计模式中的一种,确保一个类只有一个实例,并提供全局访问点,广泛应用于配置管理、日志记录和测试框架等场景。本文将深入探讨单例模式的原理、实现方式及其在PHP中的应用,帮助开发者更好地理解和运用这一设计模式。
在PHP开发中,单例模式通过确保类仅有一个实例并提供一个全局访问点,有效管理和访问共享资源。本文详细介绍了单例模式的概念、PHP实现方式及应用场景,并通过具体代码示例展示如何在PHP中实现单例模式以及如何在实际项目中正确使用它来优化代码结构和性能。
|
1月前
|
开发框架 前端开发 中间件
开源PHP项目
【9月更文挑战第2天】开源PHP项目
34 4
|
2月前
|
Cloud Native 关系型数据库 MySQL
PHP的演变之路:从初生之犊到成熟框架
【8月更文挑战第20天】本文将带你穿梭时空,探索PHP这一互联网基石语言的发展历程。我们将从PHP的起源谈起,见证它如何应对时代的挑战,逐步成长为支持现代Web开发的强力工具。文章不仅追溯PHP的历史轨迹,还将深入探讨其对开发者社区的影响以及在现代技术环境中的定位和未来趋势。
56 13
|
1月前
|
消息中间件 NoSQL Go
PHP转Go系列 | ThinkPHP与Gin框架之Redis延时消息队列技术实践
【9月更文挑战第7天】在从 PHP 的 ThinkPHP 框架迁移到 Go 的 Gin 框架时,涉及 Redis 延时消息队列的技术实践主要包括:理解延时消息队列概念,其能在特定时间处理消息,适用于定时任务等场景;在 ThinkPHP 中使用 Redis 实现延时队列;在 Gin 中结合 Go 的 Redis 客户端库实现类似功能;Go 具有更高性能和简洁性,适合处理大量消息。迁移过程中需考虑业务需求及系统稳定性。
|
2月前
|
PHP 数据库 开发者
探索PHP的现代演变:从Web开发到框架创新
【8月更文挑战第13天】本文将深入探讨PHP语言自诞生以来的发展历程,特别是它在Web开发领域的演进和在现代框架中的创新。我们将回顾PHP的历史,分析其在不同阶段面临的挑战及解决方案,并讨论PHP如何适应新的编程范式和技术需求,以及这些变化对开发者社区的影响。
35 2
|
2月前
|
缓存 中间件 PHP
Laravel 框架:优雅 PHP Web 开发的典范
【8月更文挑战第31天】
61 0
|
2月前
|
安全 Java 云计算
JSF 应用究竟何去何从?云端部署能否成为其全新突破点?快来一探究竟!
【8月更文挑战第31天】本文介绍了将JavaServer Faces(JSF)应用部署到云平台的过程。首先,根据成本、功能、可靠性和安全性选择合适的云平台。接着,展示了构建简单JSF应用的示例代码。最后,以AWS Elastic Beanstalk为例,详细说明了部署流程。部署至云端可提升应用的可用性、扩展性和安全性。
34 0
|
2月前
|
安全 前端开发 PHP
构建与验证表单:传统PHP与Laravel框架的比较分析——探索Web开发中表单处理的优化策略和最佳实践
【8月更文挑战第31天】在 Web 开发中,表单构建与数据验证至关重要。传统 PHP 方法需手动处理 HTML 表单和数据验证,而 Laravel 框架则提供了一种更现代、高效的解决方案。本文通过对比传统 PHP 和 Laravel 的方法,探讨表单构建与验证的最佳实践。Laravel 通过简洁的语法糖、内置的数据过滤和验证机制,显著提升了代码的安全性和可维护性,适用于大型项目或需要快速开发的场景。然而,在追求灵活性的小型项目中,直接使用 PHP 仍是不错的选择。了解两者的优劣,有助于开发者根据项目需求做出最佳决策。
30 0