Приветствую, друзья!
Сегодня я хочу познакомить вас с одной из самых крутых новинок PHP 8.1 – enum. Enum, или перечислимый тип, позволяет создавать наборы допустимых значений для переменных.
Зачем это нужно?
Представьте, что вы разрабатываете приложение для интернет-магазина. Вам нужно хранить информацию о статусе заказа: «Новый», «В обработке», «Отправлен», «Доставлен».
Раньше для этого вы могли бы использовать строковые переменные:
$status = 'Новый';
if ($status !== 'Новый' && $status !== 'В обработке' && $status !== 'Отправлен' && $status !== 'Доставлен') {
throw new InvalidArgumentException('Неверный статус заказа');
}
Это код довольно громоздкий и не очень удобный.
С помощью enum вы можете сделать то же самое гораздо проще:
enum OrderStatus: string {
case New = 'Новый';
case Processing = 'В обработке';
case Shipped = 'Отправлен';
case Delivered = 'Доставлен';
}
$status = OrderStatus::New;
// ...
if (!OrderStatus::tryFrom($status)) {
throw new InvalidArgumentException('Неверный статус заказа');
}
Преимущества enum:
- Повышение читабельности кода.
- Улучшение безопасности.
- Снижение количества ошибок.
Но помните:
Enum – это мощный инструмент, но, как и любой инструмент, его можно использовать как во благо, так и во зло.
Не злоупотребляйте enum!
Не нужно создавать enum для каждого чиха.
И помните:
Enum – это не замена здравому смыслу.
Используйте enum с умом!
P.S.
Я уверен, что enum станет одним из самых популярных инструментов в PHP 8.1.
Используйте его с умом, и ваш код станет лучше!