temir8173 / sanitizer
此包最新版本(v1.0.0)没有可用的许可信息。
JSON 清洁器
v1.0.0
2023-10-06 09:22 UTC
Requires
- php: >=8.1.0
- ext-json: *
This package is auto-updated.
Last update: 2024-09-06 11:44:22 UTC
README
use Temir8173\Sanitizer\DataSanitizer;
use Temir8173\Sanitizer\DataSpecification;
use Temir8173\Sanitizer\DataTypesList;
$jsonData = '{
"foo": "123.asd",
"bar": "asd",
"baz": "8 (707) 288-56-23",
"arrayField": ["8999654", "8 (707) 288-56-23 123.asd"],
"nestedStructure": {"field1": 324}
}';
$data = json_decode($jsonData, true);
// Спецификация для данных
$specification = new DataSpecification(
DataTypesList::STRUCTURE,
true,
[
'foo' => new DataSpecification(DataTypesList::INTEGER, true),
'bar' => new DataSpecification(DataTypesList::STRING, true),
'baz' => new DataSpecification(DataTypesList::PHONE, true),
'arrayField' => new DataSpecification(DataTypesList::ARRAY, true, arrayItemsType: DataTypesList::PHONE),
'nestedStructure' => new DataSpecification(DataTypesList::STRUCTURE, true, [
'field1' => new DataSpecification(DataTypesList::STRING, true),
'field2' => new DataSpecification(DataTypesList::INTEGER, true),
])
]
);
$sanitizer = new DataSanitizer();
$sanitizer->handle($data, $specification);
echo '<pre>';
print_r($data);
print_r($sanitizer->getNormalizedData());
print_r($sanitizer->getErrors());