daylerees/sanitizer

1.0.2 2014-09-27 19:13 UTC

This package is not auto-updated.

Last update: 2024-09-14 15:37:29 UTC


README

Travis Status Github Release Packagist License Packagist Downloads Github Issues Tips

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'
)