Can we follow the approach other languages used for their type alias
implementation?
```php
typedef UserType: string|null;
// or
typedef UserType = UserStatus|AlternativeType|null;
```
We could also introduce a way to group multiple type alias in a single file:
```php
namespace App;
typedef TypeGroup {
typedef UserType: string|null;
typedef CustomType: \MyCustomType|\AnotherType|null;
}
```
Then, it can be imported by using:
```php
// single
use type UserType;
// group
use type App\TypeGroup;
```
This feels more familiar, nice and structured.
*NOTE:* it's just a suggestion from my own view.
On Tue, 2 Dec 2025, 11:24 pm Rob Landers, <[email protected]> wrote:
> Hello Internals,
>
> I’d like to request your comments on type aliases (not to be confused with
> typedefs) at https://wiki.php.net/rfc/typed-aliases
>
> TL;DR (it’s actually rather short):
>
> Following the same syntax as other use'ing statements, you can alias a
> type:
>
> use type int|float as Number;
>
> function sum(Number $a, Number $b): Number { return $a + $b; }
>
>
> You can also include types, with some restrictions:
>
> include types 'math-types.php';
>
> function sum(Number $a, Number $b): Number { return $a + $b; }
>
>
> These are compile-time replacements that serve to make code more readable
> and reduce repetition with no runtime overhead. Type aliases follow the
> same scoping rules as other use imports.
>
> — Rob
>