wangyu / tp-validate
TP5.1 的反射验证器核心类,含参数中间件封装,路由参数验证中间件,方法注释参数提取器,基于`wangyu/reflex-core`扩展
dev-master
2019-07-15 09:59 UTC
Requires
- php: >=7.1.0
- wangyu/reflex-core: >=0.0.1
- wangyu/tp-exception: dev-master
This package is auto-updated.
Last update: 2024-10-15 21:16:56 UTC
README
TRR
TRR 是什么?
TRR 是 ThinkPHP51 Reflection Restful API
(注:API设计风格) 的字母第一个字符大写后拼接而来,
从ThinkPHP51 Reflection Restful API
全称可以看出来,
这套接口框架设计主要围绕反射
来做Restful API接口设计
的。
Git库地址
Github: https://github.com/china-wangyu/TRR Gitee: https://gitee.com/china_wangyu/TRR
简介
TP5.1 的反射验证器核心类,含参数中间件封装,路由参数验证中间件,方法注释参数提取器,基于wangyu/reflex-core
扩展
安装
composer require wangyu/tp-validate
快速入门
1. middleware.php
中间件注册
文件地址:config/middleware.php
内容:
<?php return [ // 默认中间件命名空间 'default_namespace' => 'app\\http\\middleware\\', 'Validate' => WangYu\Param::class, ];
2. 方法注释中使用 @validate()
函数 或 @param()
- 函数说明
- @validate函数说明
@validate()函数,需要在
application/api/validate
目录下创建验证器。 或者:创建config/trr.php
配置文件,内容为:
<?php return [ // 默认验证器路径 'validate_root_path' => 'api/validate', ];
- @param函数说明
@param函数与@validate,作者优选@validate,希望如果每个方法里只用一种验证方式
3. 在路由配置route/route.php
配置路由时,加上middleware()
例如:
<?php use think\facade\Route; Route::group('', function () { Route::group('v1', function () { // 查询所有图书 Route::post('book/', 'api/v1.Book/create'); }); })->middleware(['Validate'])->allowCrossDomain();
4. 通过postman
访问测试效果
- 先确定下,注释验证函数是否启用
/** * @doc('创建图书') * @route('','post') * @validate('CreateGroup') * @param('name','图书名称','require|graph|length:1,50') * @param('img','图书img','require|graph|length:1,16') * @return array */ public function create() { return json(['msg'=>'创建成功'],200); }
- 确认中间件是否注册
<?php return [ // 默认中间件命名空间 'default_namespace' => 'app\\http\\middleware\\', 'Validate' => WangYu\Param::class, ];
- 确认路由是否启用
验证
中间件
<?php use think\facade\Route; Route::group('', function () { Route::group('v1', function () { // 查询所有图书 Route::post('book/', 'api/v1.Book/create'); }); })->middleware(['Validate'])->allowCrossDomain();
- 最后确认下
验证器
是否创建
- 不带参数,测试错误输出
- 带上正确参数,测试验证
版权信息
TRR 遵循 MIT 开源协议发布,并提供免费使用。
本项目包含的第三方源码和二进制文件之版权信息另行标注。
版权所有Copyright © 2006-2019 by TRR
All rights reserved。