【开源新闻】https://www.oschina.net/news/...php
今天是一个很是特殊的日期,在这里咱们将向你们宣布一个重要的消息,彻底重写的 QueryPHP 1.0 正式版发布了!git
关于 QueryPHPgithub
QueryPHP 是一款现代化的高性能 PHP 渐进式协程框架, 咱们仍是主要面向传统 PHP-FPM 场景,以工程师用户体验为历史使命,让每个 PHP 应用都有一个好框架。npm
百分之百单元测试覆盖直面 Bug,致力于创造高品质产品 Level Level Leevel,依托 Swoole 开启将来更多可能,此刻将来逐步渐进。 咱们的愿景是USE LEEVEL WITH SWOOLE DO BETTER, 让您的业务撑起更多的用户服务。缓存
特性app
缘起composer
在发布 QueryPHP 前,早在 2010 年 10 月便去尝试发布了一个开源框架 DoYouHaoBaby,可是代码早期的用户体验和质量都很是的不理想。在后来基于这个框架去作了一些应用如 DYHB.BLOG 和社区 WindsForce,事实上框架的一些 BUG 和设计都是经过这些具体的应用来验证的,后来的故事就是所有中止开发。框架
缘灭frontend
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,品控一直贯穿整个产品开发的各个流程。
关于性能与场景
咱们仍是主要面向传统 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
联系方式
若是你以为不错,能够关注一下项目,谢谢。
Email: 635750557@qq.com