Documentation / First Match Resolver
Introduction
The FirstMatchResolver
takes a list of transformers, and use the first transformer that are able to transform an input.
Using the converter
You typically add the BasicTypeConverter
last, in case any other transformer can not apply.
$resolver = new FirstMatchResolver([
new EnumConverter(),
new ReadableConverter(),
new ThrowableConverter(),
new StringableConverter(),
new BasicTypeConverter(),
]);
// Convert using first match transformer
$resolver->canTransform($input); // -> bool
$resolver->transform($input); // -> converted output
// Convert to other types
$resolver->canTransform($input, Type::STRING); // -> bool
$resolver->transform($input, Type::STRING); // -> string output
// Force type conversion
$resolver = new FirstMatchResolver([
new EnumConverter(),
new ReadableConverter(),
new ThrowableConverter(),
new StringableConverter(),
new BasicTypeConverter(),
], Type::STRING);
$resolver->canTransform($input); // -> bool
$resolver->transform($input); // -> string output
Requirements
PHP
^8.1