【Github】项目名:one – 极简高性能且支持多环境的PHP框架
一、项目简介
One是一个极简的高性能PHP框架,支持[swoole|php – fpm]环境。它具有快速(在php – fpm下1毫秒内响应请求)、简单(让开发者专注于业务而非框架使用)、灵活(组件松耦合,使用方法一致)等特性。框架无其他依赖,所有组件(如路由和对象关系映射ORM)的代码总量不超过500k,支持原生SQL与模型关系使用、跨数据库类型的关系处理、在多种环境下使用session等,并且具有高效率、易维护的特点。
二、核心技术
-
路由(Router)
支持贪婪匹配和优先级,可用于ws/tcp/http等任何协议。性能良好,添加数以万计的路由不会降低解析性能,还支持路由分组、中间件等功能。
-
对象关系映射(ORM)
支持数据库如mysql、clickHouse。关系处理涵盖一对一、一对多、多对一、多态等多种关系,可跨数据库类型关联。模型中无需指定主键,框架会缓存数据库结构自动匹配主键并过滤非表结构字段。
-
缓存(Cache)
能自动刷新数据,支持配置各种缓存粒度。可设置无过期时间的缓存、指定过期时间的缓存,能按标签获取和刷新缓存。
-
事件(Event)
可捕获所有操作,包括使用原生SQL操作数据库的操作。
-
数据库连接
在fpm下为单列,在swoole模式下所有数据库操作自动切换到连接池,支持同步、异步、阻塞、断开和重新连接。
-
SQL模板
自动生成模板id,有助于理解项目中的SQL类型、调用数量比例,为数据优化提供数据支持,还提供语句重用以提高SQL执行性能。
-
模型(Model)
支持动态分库分表和大规模数据远程过程调用(RPC),能自动生成远程方法映射,支持链式调用、RPC中间件、认证、加密解密、缓存等。
-
日志(Log)
记录完整的文件名和行号以便快速定位代码位置,还包含请求id便于查看整个请求的登录信息和服务关系。
三、项目总结
One框架在PHP开发中提供了高性能、灵活且易于使用的解决方案。无论是在不同的协议处理、数据库操作还是缓存管理等方面都有独特的设计。欢迎大家留言分享对这个框架的看法或者在使用过程中的经验等。
项目地址
数据统计
数据评估
本站链氪巴士提供的one-极简高性能且支持多环境的PHP框架都来源于网络,不保证外部链接的准确性和完整性,同时,对于该外部链接的指向,不由链氪巴士实际控制,在2024年12月6日 上午12:00收录时,该网页上的内容,都属于合规合法,后期网页的内容如出现违规,可以直接联系网站管理员进行删除,链氪巴士不承担任何责任。
相关导航

gnet是一个超快速且轻量级的事件驱动网络框架。它通过利用epoll和kqueue从头构建,在许多特定场景下能以更低的内存消耗实现比Go标准网络库更高的性能。gnet基于TCP/UDP协议和Unix域套接字在传输层工作,开发者可以基于gnet实现自己的应用层协议(如HTTP、RPC、WebSocket、Redis等)来构建多样化的网络服务。一些企业/组织在生产环境中将gnet用作底层网络服务。在TechEmpower的基准测试中,gnet在全球486个涵盖各种编程语言的框架中排名前50,在Go框架的完整排名中,gnet超越了其他所有框架,成为Go中最快的网络框架。不过其在TechEmpower上的HTTP实现是为了基准测试目的而进行的半完成品,远未达到生产就绪状态。