QueryPHP V1-beta.2 性能优化代码解耦与更好的 IDE 支持

2019-05-20 11:27:28 +08:00
 doyouhaobaby

经过 1 个月的开发,QueryPHP v1.0.0-beta.2 版本可以发布了。这个版本的主要是性能优化,代码解耦和友好的 IDE 支持。

关于 QueryPHP

QueryPHP 是一款现代化的高性能 PHP 7 常驻框架,以工程师用户体验为历史使命,让每一个 PHP 应用都有一个好框架。

百分之百单元测试覆盖直面 Bug 一剑封喉,基于 Zephir 实现框架常驻,依托 Swoole 生态实现业务常驻,此刻未来逐步渐进。 我们的愿景是 USE LEEVEL WITH SWOOLE DO BETTER, 让您的业务撑起更多的用户服务。

更新日志

  1. 采用 phpunit 8 作为测试组件,修正了相关变更
  2. php7.4 加入 travis 兼容性修复,例外开发分支 php74 进行 php7.4 版本新语法进行预研,考虑到 php7.4 类型系统更利于工程化,未来 1.0 正式版本会采用 php7.4 作为最低版本
  3. [ framework ] Leevel\Kernel\App 与 Leevel\Di\Container 分离,减少了耦合度,涉及到大量的重构和单元测试修复
  4. [ framework ] Facade 重构为 Proxy,通过冗余在 ide 实现自动提示,支持类似 lavavel-ide 的功能,不同的是直接冗余支持,这里涉及到大量的代码编写,开发了常用的一部分
  5. [ framework ] 驱动类组件去掉了包装层,减少了调用链,更加直观和可维护
  6. [ framework ] 分拆 validate 验证器组件的验证器为函数,并在验证器的基础上加入了一个断言功能,解耦了代码。
  7. [ framework ] UnitOfWork 事务处理工作单元加入类似 12 栅栏和权重来支持实体的变更.( before,now,after )*(create(500 支持权重排序),update,replace,delete) = 12
  8. [ framework ] 助手函数全部重构为真实函数,底层助手函数依赖全部改为函数式实现,重构函数惰性加载为真实函数 f ,在业务层可以方便地使用函数和 oop 多范式
  9. [ framework ] 更新的一键生产缓存优化,php leevel production,即可上生产,采用 exclude-from-classmap 替代自己生成 autoloadLeevel.php 来改善类注册表过重的问题。
  10. 使用 phpstan 来初步改善框架代码品质,修复了各个组件的低等级静态检查,后续会逐步提升验证等级让代码更加可靠
  11. [ framework ] 修复数据库组件多对多关联在没有数据的时候 SQL 错误,修正查询条件默认为 null 的条件错误分析
  12. [ application ] bootstrap 和 router 提升到根目录更加方便维护,很重要
  13. [ application ] iviewui 后台菜单支持记住侧边栏状态,菜单状态打开修复,三级菜单支持
  14. [ application ] 其它一些变更都是跟随 framework 更新做得一些调整

帮助我们

QueryPHP 是在 2016 年 10 月开始基于一个我早年的 PHP 框架 DoYouHaoBaby 框架开发的。这个早年的框架是我在 2010 年 7.8 月开始的,那个时候在大二,开始的框架也主要用于自用。早年基于这个框架的一些应用作品如下:

DYHB.BLOG_X

DYHB.BLOG_X-2.0 详细安装图文教程 http://www.knowsky.com/804758.html

http://www.downcode.com/downcode/j_18106.shtml

https://github.com/hunzhiwange/dyhb.blog-x

WindsForce 社区

http://www.mycodes.net/code_previewmap.php?id=6185

https://github.com/hunzhiwange/windsforce

https://www.oschina.net/p/windsforce

关于为什么要去做一个框架,最开始的时候只是做一个东西感觉比无聊玩游戏更有价值,随着时间的推移更多的是一种责任像一个孩子一样持续改善。

早年大多数关注的是功能多么多,现在更多的关注工程师用户体验以及严谨性,讲究慢工出细活,多多打磨细节。

严谨性是我非常喜欢用 rust 语言一个最大一个方面。QueryPHP 的严谨性包括强类型、3000 例测试用例,静态分析以及让开发阶段暴露错误来支持更好的产品。用户体验包含 ide,20 多项内置命令工具(比如一键优化生产),强迫症般地优化 API 名字、更顺畅的使用习惯。从 2016 年 8 月直到 2018 年 11 月才发布初版本 1.0.0.-alpha.1,用工匠精神去打磨作品直到可用。

如果你觉得可以,可以推荐朋友来试用一下,关注一哈,希望吸引到有兴趣的一起开发,文档基于单元测试加注释来自动化的比较简单。

2010-present by Xiangmin Liu

2886 次点击
所在节点    PHP
1 条回复
HiCode
2019-05-20 11:51:06 +08:00
赞一个!

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/565758

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX