Laravel & PHP Deep — фреймворки и пакеты

PHP ломается не в синтаксисе, а в мелочах вокруг типов и ошибок

PHP ломается не в синтаксисе, а в мелочах вокруг типов и ошибок

За неделю в репах: большая часть «непонятных багов» в PHP обычно сводится к трём вещам — смешали null и пустую строку, не зафиксировали тип на границе слоя, проглотили исключение и пошли дальше.

Есть наблюдение которое стоит проверить: код становится стабильнее не от «больше if-ов», а от жёстких правил на входе и выходе. Для этого:
— включайте strict types там, где это не ломает легаси;
— нормализуйте входные данные до бизнес-логики;
— не возвращайте mixed без причины;
— исключения либо обрабатываются, либо поднимаются выше, но не исчезают в логах-тишине.

Вторая зона риска — неочевидные преобразования. Строка "0", пустой массив и false в PHP легко дают разные ветки там, где автор кода ожидал один сценарий. Если условие влияет на деньги, права доступа или статус заказа, проверяйте его отдельно и явно.

Третья привычка, которая экономит часы: не смешивайте в одном методе валидацию, расчёт и запись в БД. Когда слой делает только одно дело, его проще тестировать, а баги быстрее локализуются.

Если хотите меньше сюрпризов в проде, начните не с переписывания всего проекта, а с границ: типы, ошибки, нормализация входа. Именно там PHP чаще всего показывает характер.
Этот пост опубликован в Telegram-канале Laravel & PHP Deep — фреймворки и пакеты. Подписаться можно по ссылке: @laravel_php_deep.
tech

Свежие посты в категории «Tech Infrastructure»

Все каналы категории →

@server_setup_guide_arb · 18 SeptemberSeptember9
SPF и DKIM ломают доставку чаще, чем контент письма Если рассылка уходит в спам или режется на приёме, сначала проверяйте DNS, а не шаблон п...
@topical_map_factory_ubt · 18 SeptemberSeptember9
Ошибки URL-архитектуры, из-за которых новый сайт не взлетает в выдаче Новый сайт часто проигрывает не из-за контента, а из-за кривой адресно...
@cloudflare_optimization_pro_arb · 18 SeptemberSeptember9
Почему DDoS и WAF нельзя настраивать как два отдельных “щитка” Защита от DDoS и управление WAF-политиками должны работать как одна система....
@tracker_stack_ubt · 18 SeptemberSeptember9
FB CAPI ломается не на отправке, а на потере идентификаторов и дублях Архитектура должна быть простой: источник события → ваш сервер → CAPI-...
@email_delivery_labs_arb · 18 SeptemberSeptember9
Как масштабировать рассылки без потери репутации домена и попадания в спам Масштабирование в email — это расширение инфраструктуры, а не про...
start

Готовы запустить рекламу через сеть public.tg?

Новый оффер, продукт, GEO, кейс, событие или партнёрский запуск — соберём маршрут под задачу и отдадим медиаплан.

Telegram для медиаплана: @AFFtop_connect. Быстрый тест: $20 за канал, $1000 за пакет по сети.