Skip to content
Search
Examples

Types

Description

Type casting converts values from one type to another. The cast() method transforms the input value into the target
type, throwing InvalidArgumentException if conversion is impossible. Unlike assertions which validate existing types,
casting actively transforms values (e.g., string "123" becomes integer 123, or "yes" becomes boolean true).

Casting is ideal for normalizing data from external sources like CSV files, API responses, or user input.


Cast backing values to PHP enum instances. Supports both string and integer backed enums with automatic conversion.

Documentation

Code

<?php

declare(strict_types=1);

use function Flow\Types\DSL\type_enum;

require __DIR__ . '/vendor/autoload.php';

enum Status: string
{
    case Pending = 'pending';
    case Active = 'active';
    case Completed = 'completed';
}

echo 'Cast "pending": ' . type_enum(Status::class)->cast('pending')->name . "\n";
echo 'Cast "completed": ' . type_enum(Status::class)->cast('completed')->name . "\n";
echo 'Pass through: ' . type_enum(Status::class)->cast(Status::Active)->name . "\n";
Contributors

Built in the open.

Join us on GitHub
scroll back to top