内容简介: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与自定义注解详解
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Design systems
Not all design systems are equally effective. Some can generate coherent user experiences, others produce confusing patchwork designs. Some inspire teams to contribute to them, others are neglected. S......一起来看看 《Design systems》 这本书的介绍吧!