🔥High Performance PHP Progressive Framework.

Overview

Latest Stable Version Minimum PHP Version Minimum Swoole Version RoadRunner Version QueryPHP License
StyleCI QueryPHP Doc Build Status

The Core Framework
Build Status

English | 中文

The QueryPHP Application

QueryPHP is a modern, high performance PHP progressive framework, to provide a stable and reliable high-quality enterprise level framework as its historical mission. USE LEEVEL DO BETTER And More Information...

Features

How to install

composer create-project hunzhiwange/queryphp myapp
php leevel server <Visite http://127.0.0.1:9527/>

Swoole Http Server

php leevel http:server # php leevel http:server -d
php leevel http:reload
php leevel http:stop
php leevel http:status

Swoole Websocket Server

php leevel websocket:server # php leevel websocket:server -d
php leevel websocket:reload
php leevel websocket:stop
php leevel websocket:status

Go RoadRunner Server

/data/server/roadrunner-1.8.2-darwin-amd64/rr serve -d -v # -d = debug
/data/server/roadrunner-1.8.2-darwin-amd64/rr http:reset
/data/server/roadrunner-1.8.2-darwin-amd64/rr http:workers -i

License

The QueryPHP framework is open-sourced software licensed under the MIT license.

You might also like...
Zephir is a compiled high level language aimed to the creation of C-extensions for PHP.

Zephir - is a high level programming language that eases the creation and maintainability of extensions for PHP. Zephir extensions are exported to C c

Supercharge your Laravel application's performance.

Introduction Laravel Octane supercharges your application's performance by serving your application using high-powered application servers, including

CleverStyle Framework is simple, scalable, fast and secure full-stack PHP framework

CleverStyle Framework is simple, scalable, fast and secure full-stack PHP framework. It is free, Open Source and is distributed under Free Public Lice

I made my own simple php framework inspired from laravel framework.

Simple MVC About Since 2019, I started learning the php programming language and have worked on many projects using the php framework. Laravel is one

PHPR or PHP Array Framework is a framework highly dependent to an array structure.

this is new repository for php-framework Introduction PHPR or PHP Array Framework is a framework highly dependent to an array structure. PHPR Framewor

I made my own simple php framework inspired from laravel framework.

Simple MVC About Since 2019, I started learning the php programming language and have worked on many projects using the php framework. Laravel is one

Framework X is a simple and fast micro framework based on PHP
Framework X is a simple and fast micro framework based on PHP

Framework X is a simple and fast micro framework based on PHP. I've created a simple CRUD application to understand how it works. I used twig and I created a custom middleware to handle PUT, DELETE methods.

Sunhill Framework is a simple, fast, and powerful PHP App Development Framework

Sunhill Framework is a simple, fast, and powerful PHP App Development Framework that enables you to develop more modern applications by using MVC (Model - View - Controller) pattern.

Framework X – the simple and fast micro framework for building reactive web applications that run anywhere.

Framework X Framework X – the simple and fast micro framework for building reactive web applications that run anywhere. Quickstart Documentation Tests

Releases(v1.0.1)
  • v1.0.1(Sep 27, 2020)

    Fixed

    • #fadd998 refactor(protocol): release root coroutine data for WebSocket.

    Optimized

    • #210a15f normalize code style.
    • #20b54bc normalize method description.
    • #1cfb217 refactor(auth): use @ method to implement proxy ide helper.
    • #7e65701 refactor: chain support optional multi operation and add ide helper for assert.

    Added

    • #6c56b83 add feature \Leevel\Protocol\Coroutine::removeContext().

    Changed

    • #6c56b83 refactor(any): IOC container can manipulate data for a specified swoole coroutine id.

    Removed

    • #6ec26fa refactor(i18n): remove method __().
    • #0fdade6 refactor: remove option --proxy of command make:idehelper
    • #6437c03 refactor(i18n): remove \Leevel\I18n\Proxy\I18n

    Tests && Docs

    • #10cc02e tests(protocol): add tests for \Leevel\Protocol\Coroutine::removeContext().
    • #2c5349a tests(log): add \Tests\Log\Console\ClearTest.
    • #a24a05b tests(database): add \Tests\Database\Console\EntityTest.
    • #83dfa30 tests(validate): add invalid value null for Tests\Validate\Validator\RequiredTest.
    Source code(tar.gz)
    Source code(zip)
  • v1.0.0(Jul 22, 2020)

    QueryPHP v.1.0.0 general availability is now released and production ready,we finally finished this work in nearly four years. MIT Licensed | Copyright © 2016.08-present Xiangmin Liu (https://www.queryphp.com/)

    Source code(tar.gz)
    Source code(zip)
  • v1.0.0-rc.6(Apr 18, 2020)

  • v1.0.0-rc.3(Dec 30, 2019)

    • 【framework】使用 PHP 7.4 的新语法重构代码,主要是整个框架和应用的类属性类型支持。
    • 【framework】强化了 php leevel make:entity 功能,能实现局部自动更新表结构,支持两种 getter setter。
    • 【framework】修复了实体 Entity 在模拟 replace 场景中不存在主键自动忽略并返回重构
    • 【framework】改进多语言文档生成的 uses 样式以及删除 Doc::getClassBody多余的 uses
    • 【framework】tableColumns 返回更多字段信息,以及加入表的注释,目前用于生成实体的文件名字
    • 【framework】composer 加入一个常用 scripts,比如 composer migrate,composer test
    • 【framework】配置 php_cs no_superfluous_phpdoc_tags 清理掉系统无用的注释,删除掉文件头部的 author version since 等注释
    • 【framework】分页第一页从 1 开始,小于 1 将抛出异常统一规范
    • 【framework】简化所有验证器规则 Leevel\Validate\Helper\validate_accepted 为 Leevel\Validate\Helper\accepted
    • 【framework】修复部分助手函数的 bug,并精简 api 命名,Leevel\Session\Helper|session_set 改为 Leevel\Session\Helper|set
    • 【framework】增加部分 HTTP 组件文档
    • 【framework】增加小部分 Swoole 文档
    • 【framework】新增 Option 配文档
    • 【framework】新增 Cache 缓文档
    • 【framework】新增 Session 文档
    • 【framework】新增 Page 分页文档
    • 【framework】新增 Log 日志文档
    • 【framework】新增 Seccode 验证码文档
    • 【application】php 7.4 类型属性支持
    • 【application】精简所有注释,删除所有 author version 等信息
    • 【application】重新更新到全新的实体 entity
    • 【application】composer 加入一个常用 scripts,比如 composer migrate,composer test
    Source code(tar.gz)
    Source code(zip)
  • v1.0.0-rc.2(Nov 25, 2019)

    • 【framework】优化点 call_user_func_array 和 call_user_func 提供更好的性能。
    • 【framework】多语言文档生成已经成功实现
    • 【framework】将早年的 markdown 文档全部重写到新的文档生成系统
    • 【framework】完善集合文档
    • 【framework】新增 URL 生成文档
    • 【framework】新增命名空间文档
    • 【framework】新增类型文档
    • 【framework】新增验证器文档
    • 【framework】新增树文档
    Source code(tar.gz)
    Source code(zip)
  • v1.0.0-beta.6(Oct 16, 2019)

    更新日志

    • 【framework】新增 400 单元测试全量覆盖,进一步缩减了 BUG 生存空间。
    • 【framework】由于不完整所以删除 Swoole RPC 实现,保留了 Http,Websocket,未来 1.0 正式版本重新设计
    • 【framework】通过测试 修复 HTTP 组件,请求,响应等 BUG
    • 【framework】修复数据库重连错误极端异常情况兼容
    • 【framework】数据库查询和执行去掉了重复代码,抽象了一些公共代码,精简了代码
    • 【framework】修复了 ORM 关联查询源数据为空的判断,重构了关联模型作用域实现,并精简了代码
    • 【framework】修复数据库工作单元 UnitOfWork的 bug 和精简代码
    • 【framework】关联模型,改进 ORM 关联查询源值为空的特殊处理 ,不再执行后续查询,减少数据库查询,修复嵌套关联预载入查询未执行到的 BUG。
    • 【framework】ORM 实体 Entity 的 toArray() 支持关联属性读取,并支持 SHOW_PROP_NULL 返回自定义默认返回数据
    • 【framework】修复更新实体一些错误,抽离公共代码。
    • 【framework】其它若干修复项目,主要写测试用例时发现的问题。
    • 【application】修复 debugbar 错误,兼容 Swoole HttpServer 和 PHP 内置 WebServer

    RoadMap

    • 【framework】Beta 6 是 QueryPHP 的最后一个 beta 版本,整个框架功能冻结。
    • 【framework】RC 版本只修复 BUG、单元测试 和文档完善,不排除可能有一些必要的功能微调。
    • 【framework】v1.0.0 正式版本将随 PHP 7.4 版本后发布 wiki.php.net/todo/php74,计划是在 2019.12 发布。
    Source code(tar.gz)
    Source code(zip)
  • v1.0.0-beta.5(Sep 10, 2019)

    更新日志

    • 【framework】将底层 redis 服务拆分出来注册到 IOC 容器,可以方便使用
    • 【framework】删除自己的 dd,dump 调试函数,Symfony 自带不需要再弄了。
    • 【framework】移除全局函数 app,hl 助手函数,由静态代理实现 App(别名 Leevel)来,App::path(),App 可以访问 IOC 容器中的方法 App::make('request')。
    • 【framework】删除代理中所有接口设计 \Leevel\Kernel\Proxy\IApp ,删除组件中的 Proxy 改为用 @method 来实现 IDE helper,并内置一个用于生成这样的命令工具自动生成。
    • 【framework】优化 swoole 热重载代码,利于测试。
    • 【framework】改进系统异常处理组件,例外将系统内置异常改为 abstract 方便业务层继承更好地处理异常,添加一个业务处理异常 \Leevel\Kernel\Exception\BusinessException,异常响应也会经过中间件处理。
    • 【framework】核心 kernel 和路由支持对 CORS options 请求的处理,利用自定义中间件轻松处理跨域访问问题,分拆路由绑定解析方法,代码更清。
    • 【framework】关联模型,改进 ORM 关联查询源值为空的特殊处理 ,不再执行后续查询,减少数据库查询,修复嵌套关联预载入查询未执行到的 BUG。
    • 【framework】为各个组件助手函数添加一个静态访问,分拆各个组手函数到单独的文件方便 f 调用。
    • 【framework】实体添加更多 const 如 CONSTRUCT_PROP_WHITE,MIDDLE_SOURCE_KEY 避免写死实体一些约定的名字。
    • 【framework】数据库 PDO 查询改进,该是数字就返回数字,不再全部返回字符串。
    • 【framework】查询新增 where('foo', '=', null) 的支持,处理非常特殊场景,以前直接报错。
    • 【framework】改进实体 \Leevel\Database\Ddd\Entity toArray 设计,现在 null 会被自动忽略。
    • 【framework】改进实体 \Leevel\Database\Ddd\Entity 属性相关设计,withProps,withProp,hasProp,prop 来访问。
    • 【framework】改进实体 \Leevel\Database\Ddd\Entity 软删相关设计,实体一旦定义了 const DELETE_AT,系统查询和删除自动走软删除,也可以通过 withSoftDeleted 查询包含软删除的数据,forceDelete 强制删除。
    • 【framework】改进实体 \Leevel\Database\Ddd\Entity 中查询实体 find($id) 改为 findEntity($id),更容易理解,例外可以避免和 find() 查询使用理解冲突。
    • 【framework】修复 redis 连接池连接 PHPRedis 驱动支持重连。
    • 【framework】验证器会自动转换验证参数 not_between:1,5 为 int 和 float,以便于框架实现统一强类型的整体方向,例外数据库唯一验证 \Leevel\Validate\UniqueRule 自动识别 int 和 float,避免数据库查询出现转换类型而不再走索引影响性能。
    • 【framework】改进实体 \Leevel\Database\Ddd\Entity 查询设计,去掉查询魔术方法,__call 和 ___callStatic 被屏蔽,所有查询均需要通过静态入口 select(别名 find,保留致敬 QeePHP 习惯),meta(保留致敬 QeePHP 习惯) 发起,再加上 ide helper 支持,完美支持 IDE。
    • 【framework】改进实体连接 \Leevel\Database\Ddd\Entity 切库设计,由每个实体自己实现 withConnect 和 connect,更加更新可控,提供切库安全沙盒 connectSandbox。
    • 【framework】采用 PDOStatement->debugDumpParams() 来获取最后的 SQL,同时在 debug 组件将 SQL 写入日志方便开发调试。
    • 【framework】事务工作单元 \Leevel\Database\Ddd\UnitOfWork 增加对软删除」强删除的支持,也包含仓储对此的调整 \Leevel\Database\Ddd\Repository。
    • 【framework】修复并删除实体和仓储中的 flushed 已经刷新过数据的特性,无必要。
    • 【tests】新增 10 多例 swoole 相关的测试用例和其它,单元测试 3080 多例,断言 10000+。
    • 【application】QueryPHP 自身是一个基于 IViewUI 的标准后台,自带基于资源的权限系统,由于框架大量调整后台做了相应的调整以便于运行。
    • 【application】QueryPHP 自身是主要引入 Workflow 来改善 curd 操作,将查询并入到服务中来。

    RoadMap

    • 【framework】Beta 4-6 主要是对 Swoole 4 最新版的协程完善支持。
    • 【framework】RC 版本会冻结计划功能,只修复 BUG、单元测试 和文档完善。
    • 【framework】v1.0.0 正式版本将随 PHP 7.4 版本后发布 wiki.php.net/todo/php74,计划是在 2019.12 发布。
    Source code(tar.gz)
    Source code(zip)
  • v1.0.0-beta.4(Jul 29, 2019)

    更新日志

    • 【Office Site】伴随着一个简洁的新的官网,V2ex 有人说官网太乱了,QueryPHP 正式全面拥抱 Swoole 4 协程。
    • 【framework】整个系统的协程基于 Swoole 4 提供的 PHP Stream Hook,即 \Swoole\Runtime::enableCoroutine(SWOOLE_HOOK_ALL)。
    • 【framework】协程版 IOC 容器,支持将协程上下文数据存在 IOC 中。
    • 【framework】HTTP SERVER 支持,与 PHP-FPM 传统版调用控制器路由完全一致,统一调度。
    • 【framework】WebSocket SERVER 支持,与 PHP-FPM 传统版调用控制器路由完全一致,统一调度。
    • 【framework】RPC SERVER 支持,基于 thrift,与 PHP-FPM 传统版调用控制器路由完全一致,统一调度,客户端待完善。
    • 【framework】MySQL 连接池支持。
    • 【framework】Redis 连接池支持。
    • 【framework】任务投递 Task 简单封装。
    • 【framework】定时器简单 Timer 简单封装。
    • 【framework】支持自定义进程。
    • 【framework】开发阶段支持毫秒级热重启,直接扫描目录实现,现在是重启工作进程,下一版本改为重启整个。
    • 【framework】Console 组件支持一个封装用于在控制器或者其他地方调用 Symfony 命令 Command 功能。
    • 【application】QueryPHP 自身是一个基于 IViewUI 的标准后台,自带基于资源的权限系统,目前已经完全可以运行在 Swoole HTTP Server,可开启 Redis 连接池和 MySQL 连接池。

    RoadMap

    • 【framework】Beta 4-6 主要是对 Swoole 4 最新版的协程完善支持。
    • 【framework】RC 版本会冻结计划功能,只修复 BUG、单元测试 和文档完善。
    • 【framework】v1.0.0 正式版本将随 PHP 7.4 版本后发布 https://wiki.php.net/todo/php74,计划是在 2019.12 发布,后续将有参考 php74 todo 出一个完整的版本路线。
    Source code(tar.gz)
    Source code(zip)
  • v1.0.0-beta.3(Jun 23, 2019)

    更新日志

    • 【framework】除 Swoole 之外组件单元测试覆盖率保持在 97 % 高覆盖率
    • 【framework】Validate 验证器组件调整验证策略,默认为必须验证 must,支持可选 optional,断言 Assert 也进行了优化
    • 【framework】调整部分组件命名 API,如果 FlowControl 中的 ifs,elsesIf endIfs 为像 shell 一样的 if elif fi,Nulls 重名为 test.
    • 【framework】参数可选 PHPDoc 改为 null|xx,可选参数严格加入 ?string $name = null,PHPDoc 严格加入 throws Exception
    • 【framework】数据库测试用例在 Mysql 严格模式下面修复
    • 【framework】优化助手函数在 ide 的表现,系统所有 facade 均加入代理模式 proxy 提高 ide 下面的用户体验
    • 【framework】链式风格代码全部重构,代码更整洁
    • 【framework】更好的单元测试文档自动化工具
    • 【framework】清理大量技术债务,1.0.0 正式版计划功能差不多完结,即将冻结
    • 【application】主要跟随框架层的变化做的调整

    RoadMap

    • 【framework】Beta 下一版本和下下版本主要计划是对 Swoole 最新版的协程完善支持
    • 【framework】RC 版本会冻结计划功能,只修复 BUG 和文档完善
    Source code(tar.gz)
    Source code(zip)
  • v1.0.0-beta.1(Apr 16, 2019)

    更新日志

    • Facade 优化,不再继承一个基础的 Facade,不影响单元测试,并且减少了复杂度和调用链
    • 函数惰性加载方案支持,将静态类解耦为真正的函数,框架底层组件直接调用函数本身
    • 文档更新,这次更新了 20 多篇文档
    • 新增几十例测试用例,框架测试用例终于突破 3000 大关,框架部分 3008 测试用例, 9835 断言
    • PHP 最低依赖版本从 PHP 7.1.3 修改 PHP 7.3.2,框架正在迭代距离用户使用还有段时间,我们可以使用最新的特性
    • 框架自带的 composer 载入优化器支持辅助函数白名单
    • QueryPHP 自身是一个包含基础权限的后台系统,代码优化更符合领域驱动设计分层架构,引入工作流简化流水账代码
    • 锁定 doctrine/annotations ~1.6.0 和 zendframework/zend-diactoros ^2.1.1 减少兼容性问题和修复用户安装报错的问题
    • 去掉视图中 v8js 的支持,删除基类 Facade, 删除宏扩展,简化设计减少复杂度。
    • 技术债务,框架底层大量的代码优化进行解耦,减少复杂减少技术债务
    Source code(tar.gz)
    Source code(zip)
  • v1.0.0-alpha.3(Mar 12, 2019)

  • v1.0.0-alpha.2(Dec 12, 2018)

  • v1.0.0-alpha.1(Nov 7, 2018)

Owner
The QueryPHP Framework
国内 Gitee 镜像 https://queryphp.gitee.io
The QueryPHP Framework
Spiral Framework is a High-Performance PHP/Go Full-Stack framework and group of over sixty PSR-compatible components

Spiral HTTP Application Skeleton Spiral Framework is a High-Performance PHP/Go Full-Stack framework and group of over sixty PSR-compatible components.

Spiral Scout 152 Dec 18, 2022
High performance, full-stack PHP framework delivered as a C extension.

Phalcon Framework Phalcon is an open source web framework delivered as a C extension for the PHP language providing high performance and lower resourc

The Phalcon PHP Framework 10.7k Jan 8, 2023
High-Performance Long-Living PHP Framework for modern enterprise application development

Documentation · Discord · Telegram · Twitter Spiral Framework is a High-Performance Long-Living Full-Stack framework and group of over sixty PSR-compa

Spiral Scout 1.4k Jan 1, 2023
Biny is a tiny, high-performance PHP framework for web applications

Biny is high performance. Framework comes default with response time of less than 1ms. Stand-alone QPS easily up to 3000.

Tencent 1.7k Dec 9, 2022
High performance HTTP Service Framework for PHP based on Workerman.

webman High performance HTTP Service Framework for PHP based on Workerman. Manual https://www.workerman.net/doc/webman Benchmarks https://www.techempo

walkor 1.3k Jan 2, 2023
Motan - a cross-language remote procedure call(RPC) framework for rapid development of high performance distributed services

Motan-PHP Overview Motan is a cross-language remote procedure call(RPC) framework for rapid development of high performance distributed services.

Weibo R&D Open Source Projects 81 Nov 19, 2022
Kit is a lightweight, high-performance and event-driven web services framework that provides core components such as config, container, http, log and route.

Kit What is it Kit is a lightweight, high-performance and event-driven web services framework that provides core components such as config, container,

null 2 Sep 23, 2022
💾 High-performance PHP application server, load-balancer and process manager written in Golang. RR2 releases repository.

RoadRunner is an open-source (MIT licensed) high-performance PHP application server, load balancer, and process manager. It supports running as a serv

Spiral Scout 45 Nov 29, 2022
🤯 High-performance PHP application server, load-balancer and process manager written in Golang

RoadRunner is an open-source (MIT licensed) high-performance PHP application server, load balancer, and process manager. It supports running as a serv

Spiral Scout 6.9k Jan 3, 2023
This package provides a high performance HTTP server to speed up your Laravel/Lumen application based on Swoole.

This package provides a high performance HTTP server to speed up your Laravel/Lumen application based on Swoole.

Swoole Taiwan 3.9k Jan 8, 2023