PHP ломается не в синтаксисе, а в мелочах вокруг типов и ошибок
За неделю в репах: большая часть «непонятных багов» в PHP обычно сводится к трём вещам — смешали null и пустую строку, не зафиксировали тип на границе слоя, проглотили исключение и пошли дальше.
Есть наблюдение которое стоит проверить: код становится стабильнее не от «больше if-ов», а от жёстких правил на входе и выходе. Для этого:
— включайте strict types там, где это не ломает легаси;
— нормализуйте входные данные до бизнес-логики;
— не возвращайте mixed без причины;
— исключения либо обрабатываются, либо поднимаются выше, но не исчезают в логах-тишине.
Вторая зона риска — неочевидные преобразования. Строка "0", пустой массив и false в PHP легко дают разные ветки там, где автор кода ожидал один сценарий. Если условие влияет на деньги, права доступа или статус заказа, проверяйте его отдельно и явно.
Третья привычка, которая экономит часы: не смешивайте в одном методе валидацию, расчёт и запись в БД. Когда слой делает только одно дело, его проще тестировать, а баги быстрее локализуются.
Если хотите меньше сюрпризов в проде, начните не с переписывания всего проекта, а с границ: типы, ошибки, нормализация входа. Именно там PHP чаще всего показывает характер.
Laravel & PHP Deep — фреймворки и пакеты
@laravel_php_deep
PHP ломается не в синтаксисе, а в мелочах вокруг типов и ошибок
Этот пост опубликован в Telegram-канале Laravel & PHP Deep — фреймворки и пакеты. Подписаться можно по ссылке: @laravel_php_deep.