raditzfarhan / yii2-sanitizer

Yii2 Sanitizer 是一个简单的方式来清理或过滤你的输入。

安装: 23

依赖: 0

建议者: 0

安全: 0

星星: 1

关注者: 1

分支: 1

开放问题: 0

类型:yii2-extension

1.0.1 2019-07-15 07:47 UTC

This package is auto-updated.

Last update: 2024-09-15 18:59:56 UTC


README

Yii2 Sanitizer 是一个简单的方式来清理或过滤使用 Yii2 框架 的应用的输入。

安装

安装此扩展的首选方式是通过 composer

运行以下命令:

composer require raditzfarhan/yii2-sanitizer "^1.0.0"

或者

"raditzfarhan/yii2-sanitizer": "^1.0.0"

将以下内容添加到你的 composer.json 文件的 require 部分:

发布变更

注意:有关各种发布版本变更的详细信息,请参阅 变更日志

用法

将以下内容添加到你的主配置文件中的 component 部分。

'components' => [
    ...
    'sanitizer' => [           
        'class' => 'raditzfarhan\Yii2Sanitizer\Sanitize',                   
    ],
    ...
],

示例

过滤输入数组

// data to be filtered
$data = [
    'name' => ' Farhan"',
    'address' => '<p>No 1, Residence ABC</p>',
    'postcode' => '81221A',
    'points' => '-152.1711B',
    'status' => 'C1',
];

// create a filters corresponding to the input data array
$filters = [
    'name' => ['trim', 'escape'],
    'address' => ['trim', 'escape', 'cast:string'],
    'postcode' => ['digit'],
    'points' => ['digit'],
    'status' => ['cast:int'],
];

// call sanitize function to filter an array of inputs
$filtered_data = Yii::$app->sanitizer->sanitize($data, $filters);
var_dump($filtered_data);

结果为

[
    'name' => 'Farhan\\\"'
    'address' => 'No 1, Residence ABC'
    'postcode' => 81221
    'points' => -152.1711
    'status' => '1'
]

使用方法相对简单。你的过滤器数组需要与数据数组匹配,过滤器作为数组值。你可以组合过滤器,它们将按从左到右的顺序执行。

过滤单个值

// call filter function to filter a single value. You can add filter type as the second argument.
$filtered_data = Yii::$app->sanitizer->filter('<p>No 1, Residence ABC</p>', ['trim', 'cast:string']);
echo $filtered_data;

结果为

No 1, Residence ABC

第一个参数是需要过滤的值。第二个参数是需要应用过滤器的过滤器。

可用过滤器

以下是你可以使用的过滤器

许可证

Yii2 Sanitizer 根据 MIT 许可证 发布。