Новости 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 начал дальше изучать. 🤪