Union Types v2
https://github.com/nikic/php-rfcs/blob/union-types/rfcs/0000-union-types-v2.mdНикита Попов разразился ещё одним монументальным RFC.
Предлагается ввести объединённые типы – это значит, что переменная может принимать один из перечисленных типов. Де-факто объединённые типы давно используются в PHPDoc, но теперь они действительно будут проверяться самим интерпретатором.
Предлагаемый синтаксис
T1|T2|... может быть использованы везде, где типы можно указывать сейчас:
class Number {
private int|float $number;
public function setNumber(int|float $number): void {
$this->number = $number;
}
public function getNumber(): int|float {
return $this->number;
}
}
______________________________________
Также примечательно, что этот RFC в качестве эксперимента оформлен как пул-реквест
https://github.com/php/php-rfcs/pull/1 в репозиторий php/php-rfcs. Если такой подход приживётся, то в дальнейшем обсуждения RFC будут проходить на Гитхабе. Финальное голосование всё равно будет проходить на
wiki.php.net.