Библиотека пхпшника | PHP, Laravel, Symfony, CodeIgniter: post #6691 — TG.ME

🤩 webmozart/assert: guard-условия без простыней if/throw

Вместо:


if (!is_string($name) || $name === '') {
throw new InvalidArgumentException(
'Name must be a non-empty string'
);
}


можно написать:


use Webmozart\Assert\Assert;

Assert::stringNotEmpty($name);
Assert::email($email);
Assert::range($age, 18, 99);
Assert::allInstanceOf(User::class, $users);


🤩 Библиотека берёт на себя проверку условия и выбрасывает исключение с понятным сообщением, если оно нарушено. Особенно удобно использовать такие проверки на границах приложения — например, в конструкторах Value Object или сервисов.

Установка:


composer require webmozart/assert


📌 В итоге вместо десятков однотипных if/throw получаем компактные и единообразные guard-условия.

🔗 Документация

Библиотека пхпшника
👍15
August 28, 2026 1.3K 12