Веб Мастерская | Веб разработка и программирование | ИТ | IT
Без категории · 25 августа 2026 г.
PHP:
PHP: 🛠 Типизация в PHP: как перестать ловить фаталы из-за строгих типов Коллеги, признавайтесь, сколько раз ловили TypeError в проде? 😅 Типизация в PHP — это не «закручивание гаек», а способ писать код, который не падает в самый неподходящий момент. База: 1) Объявляйте типы: аргументы, возвращаемые значения, свойства классов. 2) declare(strict_types=1) включайте осознанно. Он действует на вызовы из файла и отключает молчаливые приведения скалярных типов. 3) Если ожидается int, не передавайте "42" без проверки. Где чаще всего стреляет: - формы и query-параметры: из браузера почти всегда приходит string; - JSON внешних API: числа могут прилетать строками; - БД: драйверы нередко возвращают строки даже для числовых колонок. Рецепт из мастерской: 1. На границе системы нормализуйте данные: filter_var(), (int), (float), trim(); проверяйте диапазон и формат, а не только тип; 2. Внутри домена держите строгие типы; 3. Не заставляйте код врать: если может быть null, пишите ?Order или Order|null. Плохо: pay($_GET['order']); // строка улетает в int Лучше: $orderId = filtervar($GET['order'], FILTERVALIDATEINT); if ($orderId !== false) { pay($orderId); } И еще: подключите PHPStan или Psalm. Они находят места, где типы расходятся с реальностью, до прода. Типизация не спасает от всех багов, но убирает целый пласт фаталов. А еще код становится понятнее вам, коллеге через месяц и новому разработчику. Вот так. Идем кодить дальше! 🚀 #php #типизация #вебразработка #строгаятипизация #ошибки #баги #чистыйкод #разработка #программирование #сайт #фриланс #код