markuper / sanitizer
1.0.3
2023-04-03 13:45 UTC
Requires
- php: >=5.3.0
- illuminate/container: >=4.0.0
- illuminate/support: >=4.0.0
Requires (Dev)
- phpunit/phpunit: 4.0.*
This package is auto-updated.
Last update: 2024-09-03 17:44:05 UTC
README
Sanitizer 包
Sanitizer 可以用来标准化数据以简化验证,或者提供数据一致性。
基本用法
首先构建一个规则数组。
$rules = [
'name' => 'trim',
'email' => 'trim|strtolower'
];
规则可以包含可调用的函数或 sanitizer 绑定的名称(稍后介绍)。你可以使用管道 |
或数组来指定多个清理规则。
清理器可以以下方式执行。
$sanitizer = new Sanitizer;
$sanitizer->sanitize($rules, $data);
以下是一个完整的示例。
// Construct rules array.
$rules = [
'name' => 'trim',
'email' => 'trim|strtolower'
];
// Data array to be sanitized.
$data = [
'name' => ' Dayle ',
'email' => ' me@DAYLEREES.com'
];
// Construct a new sanitizer.
$sanitizer = new Sanitizer;
// Execute the sanitizer.
$sanitizer->sanitize($rules, $data);
以下是在执行后 $data
的内容。
[
'name' => 'Dayle',
'email' => 'me@daylerees.com'
]
使用 Laravel 门面,语法可以变得稍微简洁一些。
Sanitizer::sanitize($rules, $data);
如下清理单个值。
$rules = 'trim|strtolower';
$data = ' Dayle';
Sanitizer::sanitizeValue($rules, $data);
以下是返回的值。
dayle
自定义清理规则
可以通过多种方式添加清理器。
使用闭包。
Sanitizer::register('reverse', function ($field) {
return strrev($field);
});
使用回调。
Sanitizer::register('reverse', [new ClassHere, 'method']);
使用类/方法对。
Sanitizer::register('reverse', 'Namespace\Class\Here@method');
如果未提供方法,将通过 Illuminate IoC 容器实例解析类,默认假设为 sanitize()
。
安装
Sanitizer 包可以独立使用或与 Laravel 框架一起使用。
独立使用
首先包含 sanitizer 包。
"daylerees/sanitizer": "dev-master"
现在只需 use
Sanitizer 类。
use Rees\Sanitizer\Sanitizer;
与 Laravel 一起使用
在 app/config/app.php
文件中包含 Service Provider 类。
'providers' => array(
...
'Rees\Sanitizer\SanitizerServiceProvider'
)
现在只需添加门面别名。
'aliases' => array(
...
'Sanitizer' => 'Rees\Sanitizer\Facade'
)