Назад к вопросам
Junior — Middle
95
Что нового появилось в PHP 8 по сравнению с предыдущими версиями?
Ответ от нейросети
sobes.tech AI
В PHP 8 появилось множество новых возможностей и улучшений по сравнению с предыдущими версиями:
- JIT-компиляция (Just-In-Time) — улучшает производительность, компилируя байт-код в машинный во время выполнения.
- Union Types — теперь можно указывать несколько типов для параметров и возвращаемых значений, например:
function foo(int|float $num). - Attributes (аннотации) — новый синтаксис для добавления метаданных к классам, методам и т.д., используя
#[Attribute]. - Constructor Property Promotion — сокращенный синтаксис для объявления и инициализации свойств прямо в конструкторе.
- Match expression — более мощный и безопасный аналог
switch, возвращающий значение. - Nullsafe operator (
?->) — позволяет безопасно обращаться к свойствам и методам объектов, которые могут бытьnull. - Строгая типизация для
mixedи улучшения в типах. - Новые функции и улучшения синтаксиса, например
str_contains(),str_starts_with(),str_ends_with().
Пример использования union types и constructor property promotion:
class User {
public function __construct(
private int|string $id,
private string $name
) {}
}
function process(User|int $userOrId) {
// ...
}
PHP 8 значительно улучшил выразительность и производительность языка.