PHP 框架 QueryPHP 1.0 正式版,四年打磨生产可用! 作者:qazwsxzxc起源:未知阅读:次时光:2020-07-29 09:10我要评论
今天是一个非常特别的日期,在这里我们将向大家发布一个主要的新闻,完整重写的 QueryPHP 1.0 正式版宣布了!

 今天是一个非常特别的日期,在这里我们将向大家发布一个主要的新闻,完整重写的 QueryPHP 1.0 正式版宣布了

关于 QueryPHP
QueryPHP 是一款现代化的高性能 PHP 渐进式协程框架, 我们还是重要面向传统 PHP-FPM 场景,以工程师用户体验为历史使命,让每一个 PHP 利用都有一个好框架。
百分之百单元测试笼罩直面 Bug,致力于发明高品德产品 Level Level Leevel,依托 Swoole 开启未来更多可能,此刻未来逐步渐进。 我们的愿景是USE LEEVEL WITH SWOOLE DO BETTER, 让您的业务撑起更多的用户服务。

https://github.com/hunzhiwange/queryphp

https://gitee.com/dyhb/queryphp

https://www.queryphp.com

特征

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 等框架接收一些优良的设计,同时我们自身也进行了大批的创新设计。)

更多的特征等待你的发明...
缘起

在宣布 QueryPHP 前,早在 2010 年 10 月便去尝试宣布了一个开源框架 DoYouHaoBaby,但是代码早期的用户体验和质量都非常的不幻想。在后来基于这个框架去做了一些利用如 DYHB.BLOG 和社区 WindsForce,事实上框架的一些 BUG 和设计都是通过这些具体的利用来验证的,后来的故事就是全体结束开发。
缘灭

2013 年 11 月开端了第一份工作上班了,慢慢地时光也少了,也很少再有多少心境去做一些业余的项目了。后来就是心里只留下些许遗憾,没有一颗再折腾的心。加上 2014 下半年想走出去,经常出去唱歌和游玩,回来的时候又玩玩 Dota,就这样过了 2 年。
重生

辗转来到 2016 年 8 月,当时每天下班回来都要玩 Dota,玩得尽兴的时候会到了深更半夜。当时非常的迷茫,一直在寻找机遇,也就是在那个月开端了第一行重构 DoYouHaoBaby 的代码。慢慢地找到了些感到,也就慢慢改掉了游戏,开端了一段全新的旅程。
Alpha.1 宣布

阅历了 2 年时光断断续续开发,第一个版本很快就问世了,QueryPHP 1.0.0-alpha.1 宣布,《渐进式 PHP 常驻框架引擎》。第一个版本花了 2 年时光,重要是汲取以前失败的经验,盼望多花点时光在设计上,避免后期反重复复推倒重构。
早年读 Vue 和 Laravel 开发历史消息,在很早期的时候便开端编写了大批单元测试用例,于是在 2017 年中的时候接入到 Travis-ci,通过 PHPUNIT 编写大批单元测试用例来保证可靠产品交付,第一个 Alpha.1 版本的时候,全部框架的测试用例就突破了 2000 例。由于后果非常良好,这个时候便提出了一个 Slogan 百分之百单元测试笼罩直面 Bug ,用工匠精力去做一个纯洁的作品,产品文档、技巧债务、打算功效和测试用例都须要义务化,将品控落实到每一个小小的步骤。

工匠精力
工匠精力 ,激励企业开展个性化定制、柔性化生产,培养精益求精的工匠精力,增品种、提品德、创品牌。
QueryPHP 为了更好地交付产品,依照严厉的方法逐步推动,一块一块将打磨,小到文案、代码排版,大到接口用户体验,慢工出细活,最终设计得以良好浮现。避免粗制滥造的作品,致力于发明高品德产品 Level Level Leevel,品控一直贯串全部产品开发的各个流程。
v1.0.0-ga 2020年7月22日

v1.0.0-rc.6 2020年4月18日

v1.0.0-rc.5 2020年2月8日

v1.0.0-rc.4 2020年1月20日

v1.0.0-rc.3 2019年12月26日

v1.0.0-rc.2 2019年11月24日

v1.0.0-rc.1 2019年11月6日

v1.0.0-beta.6 2019年10月16日

v1.0.0-beta.5 2019年9月9日

v1.0.0-beta.4 2019年7月28日

v1.0.0-beta.3 2019年6月6日

v1.0.0-beta.2 2019年5月20日

v1.0.0-beta.1 2019年4月14日

v1.0.0-alpha.3 2019年3月13日

v1.0.0-alpha.2 2018年12月12日

v1.0.0-alpha.1 2018 年11月8日

First line of code 2016年8月

关于性能与场景

我们还是重要面向传统 PHP-FPM 场景,这是我们全部产品的核心,我们的 99% 的组件并不依附 Swoole。很多时候,这已经够了,比我们想象中的更增强大。
依托 Swoole 开启未来更多可能,全部框架可以运行于 Swoole 服务中,目前开启一键协程化不可关闭。目前支撑了 HTTP 和 WebSocket,可以满足你的一些开发需求,并且也是我们的未来的一个重点支撑方向。支撑了 MySQL 和 Redis 衔接池,可以更好地应用。
相对于 Swoole 来说,我特殊想推举的是 Go RoadRunner 来运行你的 PHP 利用。Golang 接收 PSR-7 恳求,负责管理运行于 CLI 模式 的 PHP 常驻过程,避免框架化带来的性能开销。该公司是一家以 PHP 与 Golang 的为主语言的公司,据他们消息说,在实际项目中能带来 15 倍的晋升,兼容性好很强盛,目前 QueryPHP 已经支撑,未来将会更好地像这个方向完美。
我自己也在搞一些 Golang,Rust 方向,可以选择这些其它语言来晋升性能与扩大场景。
开发路线

打造出面向企业级的产品,尽可能少的损坏性更新,为企业开发舔砖加瓦。未来重要优化用户体验,编写更多边界测试,以求晋升产品的可靠性。
安装

为了简化入门,我们开发了一个基于 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

 

 

接洽方法

如果你感到不错,可以关注一下项目,谢谢。

https://www.queryphp.com

Email: 635750557@qq.com