На момент написания этой статьи не было поддержки нескольких явных типов. Вы должны полагаться на документацию и динамическую систему типов PHP.
Однако у меня есть в основном неполное предложение для типов объединений . Он нацелен на 7.NEXT (на момент написания статьи это 7.1) или 8 (в зависимости от того, что произойдет раньше).
Вот простой пример того, что, на мой взгляд, было бы очень ценно: array | Traversable
:
function map(callable $fn, array|Traversable $input) {
foreach ($input as $key => $value) {
yield $key => $fn($value);
}
}
К сожалению, RFC не прошел; однако для конкретного типа array|Traversable
теперь существует тип iterable
, который является именно этим.