Сегодня покажу вам простую, но мощную технику, которая может прокачать ваш PHP-код — Va... — 23 апреля 2026 г. в 06:31:56.898
Сегодня покажу вам простую, но мощную технику, которая может прокачать ваш PHP-код — Value Object вместо простых типов. Мы часто передаём параметры как string, int, array. Всё просто и понятно. Но как только бизнес-логика усложняется — типы начинают нас подводить. Допустим, у вас есть метод: function sendSms(string $phoneNumber, string $message): void А теперь скажите честно — сколько раз вы ловили себя на том, что phoneNumber передаётся в неправильном формате? Или вовсе пустым? Или из другой страны, а вы это не предусмотрели? Вот тут и приходят на помощь Value Object'ы: final class PhoneNumber { public function __construct(private string $number) { if (!preg_match('/^\+7\d{10}$/', $number)) { throw new InvalidArgumentException('Invalid phone number'); } } public function value(): string { return $this->number; } } Теперь ваш метод будет выглядеть так: function sendSms(PhoneNumber $phoneNumber, Message $message): void Что мы получаем: - Валидность данных гарантируется на этапе создания объекта. - Код становится самодокументируемым — не нужно читать описание, чтобы понять, что именно сюда передаётся. - IDE и статическая проверка типа не дадут случайно передать email вместо phone. Да, это чуть больше кода. Но это тот случай, когда "больше" — значит надёжнее. 👉 @php_lib

