Новости PHP 8: типы объединения и смешанные типы Перевод
До версии PHP 8, объявление типа было ограничено одним типом или допускалось только для принятия значения null (с использованием ? оператора). С помощью Union Types теперь можно указать, что переменная может иметь один из нескольких различных типов .
Основной синтаксис объявления типов объединения предполагает использование вертикальной черты (|) между нужными типами. Вот простой пример:
function sum(int|float $number): int|float {
// ...
}
В этом примере sum функция принимает параметр $number, который может иметь тип int или float, и функция может возвращать значение типа int или float.
Типы объединения полезны при работе со значениями, допускающими значение NULL. До этого PHP 8 вы использовали бы ?Type, чтобы указать, что переменная может иметь тип Type или null. Теперь, с помощью типов объединения, вы можете Type|null более явно выразить ту же идею.
function sum(?int $value): int|null {
// ...
}
Объединение типов , улучшающее читаемость кода, упрощающее обслуживание и повышающее надежность проверки типов. Это особенно полезно в крупных проектах или ситуациях, когда четкость и точность шрифтов имеют решающее значение.
Смешанные типы
Тип mixed — это динамический и гибкий способ обработки переменных, типы которых могут меняться во время выполнения скрипта. По сути, это позволяет переменной хранить значения любого типа без наложения строгих ограничений типа.
function processValue(mixed $data): mixed {
// Code to process $data
}
В этом примере функция processValue принимает параметр $data типа mixed и может возвращать значение любого типа (mixed).
https://dev.to/xxzeroxx/php-8-news-union-types-and-mixed-types-l0h
Как раз в тему, php начал дальше изучать. 🤪