daylerees / sanitizer
1.0.2
2014-09-27 19:13 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 not auto-updated.
Last update: 2024-09-14 15:37:29 UTC
README
Sanitizer 包
Sanitizers 可以用来标准化数据以简化验证,或提供数据一致性。
基本用法
首先构造一个规则数组。
$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
自定义清理规则
Sanitizers 可以通过多种方式添加。
使用闭包。
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 框架一起使用。
独立使用
首先包含清理器包。
"daylerees/sanitizer": "dev-master"
现在只需 use
Sanitizer 类。
use Rees\Sanitizer\Sanitizer;
与 Laravel 一起使用
在 app/config/app.php
文件中包含服务提供者类。
'providers' => array(
...
'Rees\Sanitizer\SanitizerServiceProvider'
)
现在只需添加门面别名。
'aliases' => array(
...
'Sanitizer' => 'Rees\Sanitizer\Facade'
)