Switon's dict boundary for typed action parameters and property values.
- Type-based lookup: each dict class picks its own item set.
- Input mapping: routed input can become typed dict values.
- Fallback values: empty input can fall back to the type's default item.
- Validated values: scalar input can resolve to stored dict values through validation.
- Framework wiring: validator templates are bundled for app use.
composer require switon/dictuse Switon\Dict\Dict;
use Switon\Dict\Attribute\DictValue;
final class OrderStatus extends Dict
{
public static function typeCode(): ?string
{
return 'order.status';
}
}
final class OrderController
{
public function updateAction(OrderStatus $status): void
{
$code = $status->getItemCode();
$label = $status->getItemName();
$value = $status->getValue();
}
}Docs: https://docs.switon.dev/latest/dict
MIT.