okipa / php-data-sanitizer
该软件包已被弃用且不再维护。没有建议的替代软件包。
数据清理器,自动转换条目,将空字符串转换为null等。
1.1.3
2019-09-13 09:16 UTC
Requires
- php: >=7.2
- ext-json: *
Requires (Dev)
- illuminate/support: ~5.5.0|~5.6.0|~5.7.0|~5.8.0|^6.0
- phpmd/phpmd: ^2.0
- phpunit/phpunit: ^8.0
- squizlabs/php_codesniffer: ^3.3
README
通常在从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
可用于在清理数据为null
或false
时返回默认值。
示例
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)。请参阅 许可文件 获取更多信息。