Download the PHP package chaz6chez/structure without Composer
On this page you can find all versions of the php package chaz6chez/structure. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Please rate this library. Is it a good library?
Informations about the package structure
Structure - 2.0.0
A useless validator
If you have any good suggestions and comments, please contact [email protected]
应用场景
- 出入参的判断及过滤
- 数据转化及映射
示例
验证场景
- 创建一个Structure
``
- 使用
``
使用说明
- 继承 Structure\Struct 及实现结构体
- public属性接参
``
- 对要操作和转化的public属性进行注释
``
- 标签分为四个区域
- a区:标签区
- b区:场景区
- c区:验证区
- d区:内容信息 `
标签区:
-
转换类的标签配合 filter()在output() 方法内生效, 会对包含该标签的属性执行转换或者过滤操作
- 验证类的标签在 validate() 中生效返回布尔值, 通过getError() 可以获得错误信息
标签名 | 方式 | 类型 | 说明 |
---|---|---|---|
@default | Structure\Handler、func、method | 转换 | func与method是将返回值默认赋予该标签 |
@required | true | 验证 | 判断是否为必要值 |
@rule | Structure\Handler、func、method | 验证 | 以func与method的bool返回类型判断验证 |
@skip | 无 | 验证 | 跳过验证 |
@ghost | 无 | 转换 | 跳过输出 |
@key | 无 | 转换 | 标记钥匙属性 |
@mapping | 映射键名 | 转换 | 映射键转换 |
@operator | true、func、method | 转换 | 键值特殊转换 |
@default
- 将该属性标记默认模式
- 当该属性值为null且具备@default标签时生效
``
- 验证区可使用func、method进行方法赋值
- method:className,methodName 必须是静态方法
- 方法执行过程中抛出的任何异常都会被忽略,并以默认Null赋值
``
- @default仅在output()输出时生效,若要直接使用类属性获取@default赋值,请使用以下方法:
- 但不建议频繁使用,会多执行一次object clone操作
@required
``
@rule
- 通过预置Handler进行验证
``
- 验证区可使用func、method进行方法判断
- method:className,methodName 必须是静态方法
- 方法执行过程中任何异常会转化成StructureException抛出
``
@ghost
- output() 不会输出该标签
``
@key
- 将该属性标记钥匙字段
- 通过 output() 可以做到仅输出钥匙字段
``
@skip
- 跳过验证,但不影响输出
@operator
1. 识别medoo语法-where 并转换
``
通过 output() 可以做到转换输出
``
2.2以上版本完善了该标签下的类型转换
2.2以下版本中不会对类型转换
2.2以下版本:
``
2.2以上版本:
- 不仅可以配合medoo语法做处理转换,也可以直接做类型转换
- 字符串类型的数字默认会根据值类型转换
- 整型内容字符串转换成整型
- 小数字符串转换成浮点型
``
- 可以使用强制转换标签
``
2.使用func、method进行转换
- method:className,methodName 必须是静态方法
- 方法执行过程中任何异常会转化成StructureException抛出
``
@mapping
- 将该属性标记映射处理
- 通过 output() 可以做到转换输出
``
方法
- 实例化
``
-
输入
- 使用create方法输入数据
- 使用属性赋值输入数据
- 使用create可以保存原始数据,使用属性赋值则不会保留原始数据
``
``
``
- 设置场景
``
-
- STRUCT_TRANSFER_MAPPING
- STRUCT_TRANSFER_OPERATOR
``
- 过滤
- STRUCT_FILTER_NULL
- STRUCT_FILTER_EMPTY
- STRUCT_FILTER_ZERO
- STRUCT_FILTER_KEY
- STRUCT_FILTER_KEY_REVERSE
- STRUCT_FILTER_OPERATOR
- STRUCT_FILTER_OPERATOR_REVERSE
``
``
-
获取错误
- 需要在验证执行后才能获取错误信息
``
-
- 全量输出会进行转换和default赋值
- 全量输出不进行过滤
``
- 清洗
``
补充
- Handler 接受自定义注册
``
- StructureException
``
All versions of structure with dependencies
PHP Build Version
Package Version
Requires
php Version
>=7.3
ext-json Version *
ext-json Version *
The package chaz6chez/structure contains the following files
Loading the files please wait ....