QueryPHP 1.1.0-alpha.2 发布,模板引擎精简和 PHP 8 注解路由

栏目: 软件资讯 · 发布时间: 3年前

内容简介: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: 删除所有协程演示控制器,减少初始应用的臃肿

优化

框架核心 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 1.1.0-alpha.2 发布,模板引擎精简和 PHP 8 注解路由

QueryPHP 是一款现代化的高性能 PHP 渐进式框架, 以提供稳定可靠的高品质企业级框架为历史使命。USE LEEVEL DO BETTER And More Information...

特性

如何安装

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

QueryPHP 1.1.0-alpha.2 发布,模板引擎精简和 PHP 8 注解路由

运行基于 IViewUI 的通用权限系统

cd frontend
npm install
npm run dev
http://127.0.0.1:9528/#/login
QueryPHP 1.1.0-alpha.2 发布,模板引擎精简和 PHP 8 注解路由
 
QueryPHP 1.1.0-alpha.2 发布,模板引擎精简和 PHP 8 注解路由
 
QueryPHP 1.1.0-alpha.2 发布,模板引擎精简和 PHP 8 注解路由
 
QueryPHP 1.1.0-alpha.2 发布,模板引擎精简和 PHP 8 注解路由

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 授权许可协议的开源软件.


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Design systems

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》 这本书的介绍吧!

RGB转16进制工具
RGB转16进制工具

RGB HEX 互转工具

在线进制转换器
在线进制转换器

各进制数互转换器

URL 编码/解码
URL 编码/解码

URL 编码/解码