okipa/php-data-sanitizer

该软件包已被弃用且不再维护。没有建议的替代软件包。

数据清理器,自动转换条目,将空字符串转换为null等。

1.1.3 2019-09-13 09:16 UTC

This package is auto-updated.

Last update: 2020-11-14 17:36:06 UTC


README

Source Code Latest Version Total Downloads License: MIT Build Status Code Coverage Scrutinizer Code Quality

通常在从API或表单请求中接收到客户端数据时,你会发现自己正在运行相同的数据清理操作,如将'false'转换为布尔值false,将''转换为null等。这可能会很麻烦。此软件包极大地简化了此过程。

兼容性

Laravel版本(可选) PHP版本 软件包版本
^5.5 ^7.2 ^1.1
^5.0 ^5.6 ^1.0

目录

安装

  • 使用composer安装此软件包
composer require "okipa/php-data-sanitizer:^1.1"

Laravel用户

  • Laravel 5.5+使用软件包自动发现,因此不需要您手动添加服务提供程序和外观别名。如果您不使用自动发现或使用Laravel 5.4-版本,请将软件包服务提供程序添加到您的app/Providers/AppServiceProvider.php文件的register()方法中。
// php data sanitizer
// https://github.com/Okipa/php-data-sanitizer
$this->app->register(Okipa\DataSanitizer\Laravel\DataSanitizerServiceProvider::class);
  • 然后,将软件包外观别名添加到config/app.php配置文件的$aliases数组中。
'aliases' => [
    '...',
    'DataSanitizer' => Okipa\DataSanitizer\Laravel\Facades\DataSanitizer::class
]

当此提供程序启动时,您将获得访问DataSanitizer外观的权限,您可以在控制器中使用它。

public function index()
{
    $data = [
        // data to sanitize
    ];
    $sanitizedData = \DataSanitizer::sanitize($data);
}

非Laravel

DataSanitizer自带了启动器和外观的原生实现。为了使用它,请导入类。

// import the package facade
use Acid\DataSanitizer\Native\Facades\DataSanitizer;

// sanitize your data
$data = ['false', '3', ''];
$sanitizedData = DataSanitizer::sanitize($data);

// produces [false, 3, null]

用法

软件包中唯一的公共方法是sanitize($data, $default = null, $jsonDecodeAssoc = false)。按照以下方式调用清理器

$data = ['null', 'true'];
$sanitizedData = DataSanitizer::sanitize($data);

$data可以是字符串、布尔值、数字、数组、对象或JSON字符串。清理数据的示例

''                  => null
' string trim '     => 'string trim'
'null'              => null
'false'             => false
'true'              => true
'on'                => true
'3'                 => 3
'5.07'              => 5.07

当使用数组和对象时,该方法将清理给定数据中的每个元素,并返回包含清理值的数组(或对象)。$default可用于在清理数据为nullfalse时返回默认值。

示例

DataSanitizer::sanitize('', 'hello');
// will return 'hello'

$jsonDecodeAssoc用于解码JSON。请参阅php json_decode文档

$jsonDecodeAssoc = true // default is false
$data = json_decode($data, null, $jsonDecodeAssoc);
// will decode your json as associative array (and as object if false)

测试

composer test

变更日志

有关最近更改的更多信息,请参阅CHANGELOG

贡献

有关详细信息,请参阅CONTRIBUTING

致谢

许可

MIT 许可协议 (MIT)。请参阅 许可文件 获取更多信息。