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

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

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


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

查看所有标签

猜你喜欢:

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

JavaScript & jQuery

JavaScript & jQuery

David Sawyer McFarland / O Reilly / 2011-10-28 / USD 39.99

You don't need programming experience to add interactive and visual effects to your web pages with JavaScript. This Missing Manual shows you how the jQuery library makes JavaScript programming fun, ea......一起来看看 《JavaScript & jQuery》 这本书的介绍吧!

HTML 压缩/解压工具
HTML 压缩/解压工具

在线压缩/解压 HTML 代码

JS 压缩/解压工具
JS 压缩/解压工具

在线压缩/解压 JS 代码

Markdown 在线编辑器
Markdown 在线编辑器

Markdown 在线编辑器