内容简介:QueryPHP 1.1.0-alpha.2 主要是对模板引擎和路由进行改造,大幅度删减模板引擎功能,并且调整模板语法。路由由 Swagger-PHP 包提供的注解路由,现改为使用 PHP-8 属性作为数据源的注解路由。例外也做了不少的修复...
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 App\App\Controller\Swagger;
class ApiDemo
{
/**
* @OA\Get(
* path="/swagger/api/v1/demo/{name}/",
* summary="Just test the router",
* @OA\Parameter(
* name="name",
* in="path",
* description="name test",
* required=true,
* @OA\Schema(
* type="string",
* )
* ),
* @OA\Response(
* response=405,
* description="Invalid input"
* ),
* )
*/
public function index(string $name): string
{
return 'swagger api demo '. $name;
}
}
变更为
<?php
namespace App\App\Controller\Swagger;
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: Leevel\Cache\IBlock: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: 删除 \Leevel\Router\View 和优化视图代码
- #80a47ff refactor(mail): 修复邮件中的视图,因为视图组件的变更
测试和文档
开发路线
1.0. 处于维护 阶段,1.1.* 系列开启。
关于 QueryPHP
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/>
运行基于 IViewUI 的通用权限系统
cd frontend
npm install
npm run dev
http://127.0.0.1:9528/#/login
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 授权许可协议的开源软件.
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- ginprc:Gin 注解路由,自动参数绑定工具
- Spring 注解编程之模式注解
- Java注解之编译时注解
- Java注解之运行时注解
- Java中的注解-自定义注解
- Java注解Annotation与自定义注解详解
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。