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


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

查看所有标签

猜你喜欢:

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

新内容创业:我这样打造爆款IP

新内容创业:我这样打造爆款IP

南立新、曲琳 / 机械工业出版社 / 2016-5-10 / 39.00

这是个内容创业爆棚的时代,在采访几十家内容创业公司,与一线最优秀的创业者独家对话之后,作者写作了这本书,其中包括对这个行业的真诚感触,以及希望沉淀下来的体系化思考。 本书共分三个部分讲述了爆红大号的内容创业模式和方法。其中第一部分,讲述了新的生产方式,即内容形态发展的现状--正在被塑造;第二部分,讲述了新的盈利探索,即从贩卖产品到贩卖内容的转变,该部分以多个案例进行佐证,内容翔实;第三部分,......一起来看看 《新内容创业:我这样打造爆款IP》 这本书的介绍吧!

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

各进制数互转换器

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

URL 编码/解码

XML 在线格式化
XML 在线格式化

在线 XML 格式化压缩工具