Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/china-wangyu/tp-validate
TP5.1 的反射验证器核心类,含参数中间件封装,路由参数验证中间件,方法注释参数提取器,基于`wangyu/reflex-core`扩展
https://github.com/china-wangyu/tp-validate
Last synced: about 2 months ago
JSON representation
TP5.1 的反射验证器核心类,含参数中间件封装,路由参数验证中间件,方法注释参数提取器,基于`wangyu/reflex-core`扩展
- Host: GitHub
- URL: https://github.com/china-wangyu/tp-validate
- Owner: china-wangyu
- License: apache-2.0
- Created: 2019-07-03T07:23:36.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2019-07-15T09:59:36.000Z (over 5 years ago)
- Last Synced: 2024-04-21T07:02:58.674Z (9 months ago)
- Language: PHP
- Size: 15.6 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# tp-validate
## 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`扩展
## 安装
```bash
composer require wangyu/tp-validate
```## 快速入门
### 1. `middleware.php` 中间件注册
> 文件地址:config/middleware.php
内容:
```php
'app\\http\\middleware\\',
'Validate' => WangYu\Param::class,
];```
### 2. 方法注释中使用 `@validate()`函数 或 `@param()`
- 函数说明
| @函数名 | 解释 | 格式 | 函数参数说明 |
| :---: | :---: | :---: | :---: |
| validate | 注释验证器函数| @validate('name') | name: 验证器名称 |
| param | 注释参数函数| @param('name','doc','rule') | name: 参数名称,doc: 解释, rule: 规则 |- @validate函数说明
> @validate()函数,需要在`application/api/validate`目录下创建验证器。
或者:创建 `config/trr.php` 配置文件,内容为:
```php
'api/validate',
];
```- @param函数说明
> @param函数与@validate,作者优选@validate,希望如果每个方法里只用一种验证方式
### 3. 在路由配置`route/route.php`配置路由时,加上`middleware()`
例如:
```php
middleware(['Validate'])->allowCrossDomain();
```### 4. 通过`postman`访问测试效果
- 先确定下,注释验证函数是否启用
```php
/**
* @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
'app\\http\\middleware\\',
'Validate' => WangYu\Param::class,
];```
- 确认路由是否启用`验证`中间件
```phpmiddleware(['Validate'])->allowCrossDomain();
```- 最后确认下`验证器`是否创建
![正确输出](http://pu7s2yelz.bkt.clouddn.com/wangyu_validate_file_exited.png)
- 不带参数,测试错误输出
![错误输出](http://pu7s2yelz.bkt.clouddn.com/wangyu_validate_error.png)
- 带上正确参数,测试验证
![正确输出](http://pu7s2yelz.bkt.clouddn.com/wangyu_validate_success.png)
## 版权信息
TRR 遵循 MIT 开源协议发布,并提供免费使用。
本项目包含的第三方源码和二进制文件之版权信息另行标注。
版权所有Copyright © 2006-2019 by TRR
All rights reserved。