Often when receiving data from a client in an API or from a form request, you'll find yourself running the same data cleaning operations such as transforming 'false' to the boolean false, converting '' to null etc. This can be a pain.
This package simplifies the process drastically.
| Laravel version (optional) | PHP version | Package version |
|---|---|---|
| ^5.5 | ^7.2 | ^1.1 |
| ^5.0 | ^5.6 | ^1.0 |
- Install the package with composer :
composer require "okipa/php-data-sanitizer:^1.1"- Laravel 5.5+ uses Package Auto-Discovery, so doesn't require you to manually add the ServiceProvider and the Facade alias.
If you don't use auto-discovery or if you use a Laravel 5.4- version, add the package service provider in the
register()method from yourapp/Providers/AppServiceProvider.php:
// php data sanitizer
// https://github.com/Okipa/php-data-sanitizer
$this->app->register(Okipa\DataSanitizer\Laravel\DataSanitizerServiceProvider::class);- Then, add the package facade alias in the
$aliasesarray from theconfig/app.phpconfig file.
'aliases' => [
'...',
'DataSanitizer' => Okipa\DataSanitizer\Laravel\Facades\DataSanitizer::class
]When this provider is booted, you'll gain access to a DataSanitizer facade, which you may use in your controllers.
public function index()
{
$data = [
// data to sanitize
];
$sanitizedData = \DataSanitizer::sanitize($data);
}DataSanitizer ships with native implementations of the bootloader and facade. In order to use it import class.
// import the package facade
use Acid\DataSanitizer\Native\Facades\DataSanitizer;
// sanitize your data
$data = ['false', '3', ''];
$sanitizedData = DataSanitizer::sanitize($data);
// produces [false, 3, null]The only public method in the package is sanitize($data, $default = null, $jsonDecodeAssoc = false).
Call the sanitizer as following :
$data = ['null', 'true'];
$sanitizedData = DataSanitizer::sanitize($data);$data can be a string, boolean, number, array, object or JSON string.
Examples of the cleaned data :
'' => null
' string trim ' => 'string trim'
'null' => null
'false' => false
'true' => true
'on' => true
'3' => 3
'5.07' => 5.07When using arrays and objects, the method will sanitize each element in the given data and return an array (or object) with the cleaned values.
$default can be used to return a default value if the resulting cleaned data is null or false.
Example:
DataSanitizer::sanitize('', 'hello');
// will return 'hello'$jsonDecodeAssoc is used for decoding JSON.
See php json_decode documentation
$jsonDecodeAssoc = true // default is false
$data = json_decode($data, null, $jsonDecodeAssoc);
// will decode your json as associative array (and as object if false)
composer testPlease see CHANGELOG for more information what has changed recently.
Please see CONTRIBUTING for details.
The MIT License (MIT). Please see License File for more information.


