Transformer to pakiet PHP do oczyszczania i formatowania danych obsługiwany przez komponenty walidacyjne Laravel. Pakiet wykorzystuje znajomą składnię podobną do walidacji Laravel do przekształcania danych za pomocą wywoływalnych funkcji, klas i nie tylko:
use Closure;
// example available functions at runtime:
function to_carbon($value)
{
return new Carbon\Carbon($value);
}
function only_numbers($value)
{
return preg_replace("/[^0-9]/",'',$value);
}
$input = [
'first_name' => ' jim ',
'last_name' => ' thompson',
'phone_number' => '123-456-7890',
'date_of_birth' => "1991-05-01",
];
(new DataTransformer($input, [
'first_name' => 'trim|ucfirst',
'last_name' => 'trim|ucfirst',
'phone_number' => 'only_numbers',
'date_of_birth' => 'to_carbon|->format:m/d/y',
]))->transform();
// Returns:
// [
// "first_name" => "Jim",
// "last_name" => "Thompson",
// "phone_number" => "1234567890",
// "date_of_birth" => "05/01/91",
// ]
Osoby zaznajomione z interfejsem API do walidacji Laravela zauważą reguły transformatora oparte na łańcuchach. Ponadto, jak widać we fragmencie, ten pakiet ma składnię „łańcuchową” (to_carbon|->format:m/d/y
), które mogą łączyć dodatkowe wywołania na fragmencie danych.
Możesz także przekształcać dane za pomocą domknięć lub klasy implementującej podane przekształcalny
interfejs. Ponadto ten pakiet obsługuje zagnieżdżone dane tablicowe przy użyciu notacji kropkowej, wprowadzania symboli wieloznacznych (zastosowanie funkcji na klawiszach pasujących do wzorca symboli wieloznacznych) i nie tylko.
Możesz dowiedzieć się więcej o tym pakiecie, uzyskać pełne instrukcje instalacji i wyświetlić plik kod źródłowy na GitHubie.