QueryPHP 1.1.0-alpha.2 主要是对模板引擎和路由进行改造,大幅度删减模板引擎功能,并且调整模板语法。路由由 Swagger-PHP 包提供的注解路由,现改为使用 PHP-8 属性作为数据源的注解路由。例外也做了不少的修复和调整。
模板引擎变更
语法变更,删除了大量功能,删掉了 1000+ 行代码,更精简了。
<if condition="'You' eq $name">
欢迎进入 {$QueryPHP} 开发者世界!
</if>
变更为
{% if "'You' == $name" %}
欢迎进入 {{ $QueryPHP }} 开发者世界!
{% :if %}
PHP 8 注解路由
去掉 Swagger-php 包的依赖,更加轻便了。
<?php
namespace AppAppControllerSwagger;
class ApiDemo
{
/**
* @OAGet(
* path="/swagger/api/v1/demo/{name}/",
* summary="Just test the router",
* @OAParameter(
* name="name",
* in="path",
* description="name test",
* required=true,
* @OASchema(
* type="string",
* )
* ),
* @OAResponse(
* response=405,
* description="Invalid input"
* ),
* )
*/
public function index(string $name): string
{
return 'swagger api demo '. $name;
}
}
变更为
<?php
namespace AppAppControllerSwagger;
class ApiDemo
{
#[Route(
path: "/swagger/api/v1/demo/{name:[A-Za-z]+}/",
)]
public function index(string $name): string
{
return 'swagger api demo '. $name;
}
}
QueryPHP 最低支持版本 PHP 8,系统依赖的 composer 包尚未支持 PHP 8,运行 QueryPHP-1.1.0-alpha.2 需要安装 PHP 8 版本。然后,composer 安装时忽略版本即可安装和运行。
brew install shivammathur/php/php@8.0
composer create-project hunzhiwange/queryphp myapp dev-master --ignore-platform-req
php leevel server <Visite http://127.0.0.1:9527/>
功能更新应用 application
变更
- #ed8a869 refactor: 删除所有协程演示控制器,减少初始应用的臃肿
优化
- #e246938 refactor: 移动 router/swagger 文件到 router/apis.
- #ce298f2 refactor: 整理事件代码
- #c84c32a,#dc5fb50,#3c5c524,#df5ab96,#5b03f8b refactor: 整理控制器代码
- #7667a7c,#b00c9b0 refactor: 更新模板文件
- #91a8597,#91a8597,#df4fdb2 refactor: 更新部分代码注释
框架核心 framework
修复
- #893e952 refactor(database): 修复实体无法设置数据库连接
- #5f6dd5d fix(protocol): 修复 Swoole 错误 Uncaught ErrorException: unsupported option [xxx] in @swoole-src/library/core/Server/Helper.php:160
优化
- #95822e0 refactor: LeevelCacheIBlock:handle 类添加
mixed
返回值类型 - #d59554c refactor(database): 优化 make:entity 命令,去掉 @var 标记生成
- #6f640e0,#0dd96ff,#100eba2 refactor: 使用 {@ inheritdoc} 从父类或者接口继承 docblock,减少重复注释
- #ff58f3e refactor(view): 优化代码
- #1c1b8c0 refactor(ddd): 优化实体代码
变更
- #80fe1e9,#e512f2a,#431f888 refactor(view): 模板大幅度精简和优化,启用新的模板语法标签
- #b0d16bc,#1bb015c,#bc8db8c,#75df836,#283fb62,#e463354 refactor(router): 采用 PHP 8 属性实现注解路由,去掉之前的基于 OpenApi 3.0 的 Swagger-PHP 包的路由
- #853613b fix(kernel): 修复 IdeHelper 错误
- #cd73dc4 refactor: 删除 LeevelRouterView 和优化视图代码
- #80a47ff refactor(mail): 修复邮件中的视图,因为视图组件的变更
测试和文档
- #f606ee7 docs: 文档方法添加返回类型 void
- #75df836,#e463354 docs(router): 更新路由文档
开发路线
1.0. 处于维护 阶段,1.1.* 系列开启。
关于 QueryPHP
![e8969064e6c79a104e7127f4235b7c52.png](https://i-blog.csdnimg.cn/blog_migrate/8a9726090bdeb8763536d20924c734fd.jpeg)
QueryPHP 是一款现代化的高性能 PHP 渐进式框架, 以提供稳定可靠的高品质企业级框架为历史使命。USE LEEVEL DO BETTER And More Information...
- 官方网站: https://www.queryphp.com/
- 官方网站国内镜像: https://queryphp.gitee.io/
- 开发文档: https://www.queryphp.com/docs/
特性
- 生产就绪 (Production-ready)
- 简单高性能路由
- 富于表现力的模板引擎
- 基于领域驱动设计的强大 ORM
- 高质量代码及高覆盖率单元测试
如何安装
composer create-project hunzhiwange/queryphp myapp
php leevel server <Visite http://127.0.0.1:9527/>
![b512d74b7b17c4a43c4318fd6b8b0879.png](https://i-blog.csdnimg.cn/blog_migrate/5c481ea7827c2bb1e2339182683f12c1.png)
运行基于 IViewUI 的通用权限系统
cd frontend
npm install
npm run dev
http://127.0.0.1:9528/#/login
![57e2a5e9001e91722b6af3650f9ede73.png](https://i-blog.csdnimg.cn/blog_migrate/58e0f97a28122838a9ce4a655b6e8122.jpeg)
![1dc91ec5c5fe7a6cf39130767af5106e.png](https://i-blog.csdnimg.cn/blog_migrate/230446316380bb16d88f2bf8ac7c2f11.jpeg)
![52ee7d2906b0c31507d5787dee362d51.png](https://i-blog.csdnimg.cn/blog_migrate/b50e7bcdebe46e10bf0a3038c1e71707.jpeg)
![d6f3b25a4d3d82ad10df2f01c1e763f2.png](https://i-blog.csdnimg.cn/blog_migrate/319f69c89dd84f93cb957aaf1cd2ea64.jpeg)
Swoole Http 服务
php leevel http:server # php leevel http:server -d
php leevel http:reload
php leevel http:stop
php leevel http:status
Swoole Websocket 服务
php leevel websocket:server # php leevel websocket:server -d
php leevel websocket:reload
php leevel websocket:stop
php leevel websocket:status
Go RoadRunner 服务
/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
版权协议
QueryPHP 是一个基于 MIT license 授权许可协议的开源软件.