这次是一个小的更新,主要做了一些简单的调整,完善了一些边缘代码的测试用例。
关于 QueryPHP
QueryPHP 是一款现代化的高性能 PHP 渐进式协程框架, 我们还是主要面向传统 PHP-FPM 场景,以工程师用户体验为历史使命,让每一个 PHP 应用都有一个好框架。
百分之百单元测试覆盖直面 Bug,致力于创造高品质产品 Level Level Leevel,依托 Swoole 开启未来更多可能,此刻未来逐步渐进。 我们的愿景是USE LEEVEL WITH SWOOLE DO BETTER, 让您的业务撑起更多的用户服务。
特性
-
Production-Ready (生产可用)
-
框架理念 (值得托付的使命感,让每一个 PHP 应用都有一个好框架。)
-
组件系统 (框架底层由独立的高内聚低耦合组件构成,可以轻松无侵入接入现有系统。)
-
路由系统 (框架提供 MVC 自动路由并能够智能解析 Restful 请求和基于 OpenApi 3.0 规范的 swagger-php 注解路由,文档路由一步搞定。)
-
整体解决方案 (框架提供了从缓存、Session、IOC 容器、模板引擎、Ddd ORM 等大量开箱即用的功能,提供了基于 Symfony Console 命令行工具集。)
-
高品质 (百分之百单元测试覆盖直面 Bug,致力于创造高品质产品 Level Level Leevel。)
-
业务协程化 (基于 Swoole 4 开发,我们的愿景是少量代码或者无修改,让你的业务撑起更多的用户服务。)
-
百分之百单元测试覆盖(超过 3500 例测试用例保证系统可靠性和可持续维护。)
-
PHP 7 严格模式 (每一个 PHP 脚本都是 strict_types=1,严格模式可以避免很多弱类型带来潜在 BUG。)
-
PHP 7 类型提示 (尽可能为每一个方法提供确定的参数类型和返回值类型,以及类属性的类型支持。)
-
依赖注入(完整实现,关键 MVC、命令行脚本、事件监听器全部接入 IOC 容器。)
-
领域驱动设计(支持 UnitOfWork 事务工作单元、Repository 仓储、Specification 查询规约,Entity Getter Setter领域实体等。)
-
避免闭门造车 (QueryPHP 一直从 Laravel、Symfony 等框架吸收一些优秀的设计,同时我们自身也进行了大量的创新设计。)
-
更多的特性期待你的发现...
功能更新
修复
- #fadd998 WebSocket 释放根协程数据.
优化
- #210a15f 优化代码风格.
- #20b54bc 优化方法文案.
- #1cfb217 优化 ide helper.
- #7e65701 链式操作支持可选和多值校验和为断言 assert 添加 IDE helper.
新增
- #6c56b83 新增 \Leevel\Protocol\Coroutine::removeContext().
变更
- #6c56b83 IOC 容器可以指定 swoole 协程 id 操作数据
删除
- #6ec26fa 删除 i18n 组件中的方法 __().
- #0fdade6 删除配置命令 make:idehelper --proxy 配置参数
- #6437c03 删除代理 \Leevel\I18n\Proxy\I18,使用全局函数 __() 作为替代
测试和文档
- #10cc02e 为 \Leevel\Protocol\Coroutine::removeContext() 编写了测试用例.
- #2c5349a 新增测试用例 \Tests\Log\Console\ClearTest.
- #a24a05b 新增测试用例 \Tests\Database\Console\EntityTest.
- #83dfa30 添加无效值 null 到测试 Tests\Validate\Validator\RequiredTest.
开发路线
下半年主要为边缘代码增加测试用例,提升稳定性,方便明年升级 PHP 8.0 版本。
安装
为了简化入门,我们开发了一个基于 IView-UI 通用后台权限系统,可以在传统 PHP-FPM,Swoole 和 RoadRunner 3 中模式下面运行。
composer create-project hunzhiwange/queryphp myapp
php leevel server <Visite http://127.0.0.1:9527/>
Swoole 方式运行
php leevel http:server <Visite http://127.0.0.1:9527/>
Go RoadRunner 方式运行
/data/server/roadrunner-1.8.2-darwin-amd64/rr serve -d -v # -d = debug <Visite http://127.0.0.1:9527/>
运行基于 IViewUI 的通用权限系统
cd /data/codes/queryphp/frontend
npm install
npm run dev
cd /data/codes/queryphp
php leevel server
http://127.0.0.1:9528/#/login
联系方式
如果你觉得不错,可以关注一下项目,谢谢。
Email: 635750557@qq.com