PHP 框架 QueryPHP 1.0.2 发布

偷懒的程序员 2020-11-11 14:48:32 ⋅ 590 阅读
这次主要是完善测试用例,新增几十例测试用例,提升自动化水平,删除超过 100 个测试忽略标记。例外修复一些问题和调整了一些小功能。
 
 
关于 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 等框架吸收一些优秀的设计,同时我们自身也进行了大量的创新设计。)
  • 更多的特性期待你的发现...

功能更新

框架核心 framework

新增

  • #dfb82ea 功能(cache): 类 Leevel\Cache\Load 添加 clearCacheLoaded 清理已载入的缓存数据.

修复

  • #ea43842 修复(cache): 类 Leevel\Cache\Load 刷新缓存时 refresh,清理已载入的缓存数据.
  • #cec09bc 修复(database): 修复类 Leevel\Database\Ddd\Repository 方法参数类型注释.
  • #a652423 修复(database): 修复类 Leevel\Database\Ddd\Select @ method databaseSelect 返回类型错误.
  • #b5529d3 修复(console): 修复 Leevel\Console\RunCommand 方法参数类型注释错误
  • #0797959 测试(console): 修复 Tests\Console\BaseCommand:runCommand 参数类型错误
  • #475c7d9 fix(kernel): 修复 setTestProperty 和 getTestProperty
  • #5cc7175 fix(encryption): 修复加密解密算法不存在的 BUG
  • #09423ad fix(database): 修复 Leevel\Database\Console\SeedRun 继承类大小写问题

优化

  • #d16114f 重构(view): 使用 PHP_EOL 替代换行符 \n
  • #6409e26 重构: 当我们执行命令 composer dump-autoload --optimize --no-dev 时,清理无效的 Phinx 数据库迁命令
  • #0becd48 重构: 修复数据库迁移文件
  • #074b45f refactor(kernel): 整理代码 Leevel\Kernel\Console\Autoload
  • #538013f refactor(kernel): 重构清理无效脚本
  • #25ba54d refactor(cache): 删除 Leevel\Cache\Redis\PhpRedis redis 扩展是否安装检测和删除 @ codeCoverageIgnore 标记
  • #5e234cc refactor(database): 删除 Leevel\Database\Console\Entity 部分无用代码
  • #1e5ff0b refactor(di): 重构 newInstanceArgs 和重命名 $classname 为 $className
  • #3213c39 chore: 添加 league/flysystem-sftp 和 league/flysystem-ziparchive 到 require-dev 方便测试
  • #e6112f5 refactor(option):兼容 composer 2.0
  • #155465d chore: update build composer and phpunt version
  • #1f69242 chore: 从 composer.json 中删除 phpunit/phpunit 和 phpunit/php-token-stream
  • #91d1861 chore: 移动 robmorgan/phinx 到 composer require-dev

变更

  • #d3ddf39 refactor(console): 删除一些不常用的方法,大幅度精简
  • #f237e52 refactor(kernel): 删除 Leevel\Kernel\App 方法 namespacePath 的参数 $throwException

测试和文档

  • #71a090c 测试(cache): 为 Leevel\Cache\Load::clearCacheLoaded 添加测试用例和文档.
  • #7bf76eb 测试(session): 为 Leevel\Session\Console\Clear 添加测试用例.
  • #e0b51c0 测试(view): 为 Leevel\View\Console\Clear 添加测试用例.
  • #848b46c 测试: 为组手类添加不存在组手方法的测试用例.
  • #1413568 测试(datababe): 为数据库迁移脚本添加测试用例。
  • #d447693 tests(cache): 添加测试 testWithPassword
  • #258faed tests(console): 添加参数 $extendCommands 到 trait Tests\Console\BaseCommand 的方法 runCommand 中
  • #21e4ead tests(debug): 添加测试 Tests\Debug\Console\LinkDebugBarTest
  • #e74c68a tests(kernel): 整理一些测试脚本代码
  • #10edab6 tests(filesytem): 添加大量测试到 filesystem
  • #8f2f479 tests(kernel): 添加测试到 link:* command
  • #33e6692 tests(seccode): 添加测试 testDisplayImage
  • #956fdce tests(kernel): 添加测试 Tests\Kernel\Testing\HelperTest
  • #f6f0473 tests(kernel): 添加测试 Tests\Kernel\Testing\DatabaseTest
  • #d5eaf4c tests(kernel): 添加测试 Tests\Kernel\Utils\ClassParserTest
  • #cf381af tests(kernel): 添加测试 kernel bootstraplassParserTest
  • #01d3949 tests(kernel): 添加测试 testRenderForConsole
  • #5daf718 tests(kernel): 添加测试 testFunctionLang
  • #25cae7e tests(kernel): 添加测试 Tests\Kernel\InspectorTest
  • #20a9bb8 tests(mail): 为 mail 添加测试
  • #d96c70d tests(kernel): 为 Leevel/Kernel/Utils 添加测试
  • #2a495c3 tests: 修复 tests/Docs/Preface/PrefaceSummaryDoc.php
  • #06ad7e9 tests(encryption): 添加测试 testEncryptDataFailed
  • #fcf6225 tests(kernel): 为 Leevel\Kernel\App:namespacePath 添加测试
  • #001d844 tests(kernel): 为 Leevel\Kernel\Bootstrap\LoadOption 添加测试
  • #6bea4e3 tests(kernel): 为 Leevel\Kernel\ExceptionRuntimeoadOption 添加测试
  • #fc36e0d tests(kernel): 为 getConsoleApplication 添加测试
  • #9ebc06f tests(kernel): 为命名行核心添加测试
  • #8bdad89 tests(view): 添加测试 Tests\View\Console\CacheTest
  • #1b817b1 tests(kernel): 添加测试 Tests\Kernel\Console\DocFrameworkTest
  • #4b3095b tests(kernel): 添加测试 Tests\Kernel\Console\DocTest
  • #53a245e tests(kernel): 添加测试 Tests\Kernel\Console\IdeHelperFunctionTest
  • #e449509 tests: 使用 phpunit 9 时重构 assertFileNotExists 到 assertFileDoesNotExist,assertDirectoryNotExists 到 assertDirectoryDoesNotExist
  • #5b59f7a tests: 优化 test_procedure 数据库迁移

应用 application

更新

  • #a797676 refactor: 更新成功和失败消息模板.

优化

  • #29cad36 refactor: 优化数据库迁移
  • #eaae086 chore: 更新 composer 和 phpunit 版本
  • #8379676 chore: 从 composer.json 中删除 phpunit/phpunit,fzaninotto/faker 和 phpunit/php-token-stream
开发路线
下半年主要为边缘代码增加测试用例,提升稳定性,方便明年升级 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
 

全部评论: 0

    我有话说:

    【开源资讯】PHP 8 RC 2 发布,第9个测试版本

    PHP 8 RC 2 已经发布,这也是 v8 的第 9 个测试版本。自从进入 Beta 阶段,PHP 8 已进入特性冻结期,不会有特性上的变更。 PHP 8 具体的发布周期已经更改如下

    Symfony 5.2.0 发布,经典 PHP Web 开发框架

    Symfony 是一款基于 MVC 架构的 PHP 框架,致力于减少重复代码的编写,以加速 Web 应用的开发和维护。Symfony 与许多关系型数据库集成的也非常好,成本也较小

    Laravel 8.14.0 发布PHP Web 开发框架

    Laravel 8.14.0 发布。Laravel 是 Taylor Otwell 开发的一款基于 PHP 语言的 Web 开源框架,采用了 MVC 的架构模式,2011 年 6 月首次发行

    Helidon 2.1.0 发布,Oracle 微服务框架

    Helidon 2.1.0 现已发布,这是一个次要发行版,包含了一些错误修复和增强功能。Helidon 是 Oracle 开源的一个用于编写微服务的 Java 框架,这些微服务运行在由 Netty

    Symfony 5.2.2 发布,经典 PHP Web 开发框架

    Symfony 是一款基于 MVC 架构的 PHP 框架,致力于减少重复代码的编写,以加速 Web 应用的开发和维护。Symfony 与许多关系型数据库集成的也非常好,成本也较小

    Angular 11.1.0-next.2 发布,Web 前端框架

    Angular 11.1.0-next.2 现已发布,具体更新内容如下: Bug 修复 animations:在浏览器动画生成器中实现 getPosition compiler-cli

    【开源资讯】JWCloud 专业版 v1.0.0 发布,基于 SpringCloud 研发的微服务框架

    简介 JavaWeb_Cloud 微服务平台是一款基于 SpringCloud 框架研发的分布式微服务框架,主要使用技术栈包括: SpringCloud、Vue、ElementUI

    Python ORM框架SQLAlchemy 1.3.20 发布

    SQLAlchemy 1.3.20 发布了。SQLAlchemy 是一个 Python 的 SQL 工具包以及数据库对象映射(ORM)框架。它包含整套企业级持久化模式,专门用于高效和高性能的数据库

    微型Java开发框架Solon 1.1发布,QPS达10万+

    简介 Solon 是一个微型的Java开发框架。项目从2018年启动以来,参考过大量前人作品;历时两年,2700多次的commit;内核保持0.1m的身材,超高的Web跑分,良好的使用体验

    Martian框架发布 3.0.3 版本,Redis分布式锁

    项目简介 Martian 是一个声明式 API 编程(DAP)框架,可以帮助你快速开发后端服务。 以HttpServer作为 http服务,彻底脱离Tomcat这一类的Web容器和Servlet

    Spring Boot 2.4.0-RC1, 2.1.18, 2.2.11 和 2.3.5 发布

    Spring Boot 多个分支发布了新版本,分别是 2.4.0-RC1, 2.1.18, 2.2.11 和 2.3.5。 Spring Boot 2.4.0-RC1 此版本是 

    Angular 11.0.0-rc.2 发布,Web 前端框架

    Angular 11.0.0-rc.2 现已发布,具体更新内容如下: Bug 修复 common:从r-> Y更改 week-numbering year 格式 compiler

    A3Mall v1.5.2 发布,免费开源的 PHP 小程序商城系统

    项目介绍 A3Mall商城系统是基于ThinkPhp6.0+Vue开发的一套移动电商系统, 支持微信公众号商城、H5商城、小程序商城,支持多种营销活动,优惠劵、订单活动、团购、秒杀、会员特价、积分

    Micronaut 2.4.0 发布,基于 JVM 的微服务应用框架

    ,Micronaut 2.4.0 正式发布,本次更...

    DDDplus 1.0.2 发布,轻量级业务中台开发框架

    DDDplus 简介 一套轻量级业务中台开发框架,以DDD思想为本,致力于业务资产的可沉淀可传承,全方位解决复杂业务场景的扩展问题,实现中台核心要素,赋能中台建设。 融合了前中台复杂生态协作方法论

    Serverless Framework 2.3.0 发布

    Serverless 架构开发框架 Serverless Framework 发布2.3.0 版本,该框架使用 AWS Lambda、Azure Functions、Google

    gRPC 1.34.0 发布,高性能 RPC 框架

    gRPC Core 的 1.34.0 版已经发布,详细的 gRPC 文档请参阅 grpc.io,此版本包含改进和一些错误修复,下面列出了本次更新的一些重点内容: Core 使用环境变量

    Tokio 1.0 发布,Rust 异步编程框架

    Tokio 1.0 稳定版本已发布,Tokio 是 Rust 的异步 runtime,可用于编写快速、可靠的网络应用。Tokio 还提供用于 TCP、UDP、计时器、多线程、工作窃取算法(work

    gRPC 1.35.0 发布,高性能 RPC 框架

    gRPC Core 的 1.35.0 已经发布,详细的 gRPC 文档请参阅 grpc.io,此版本包含改进和一些错误修复,下面列出了本次更新的一些重点内容: Core Backport