
Обработка ошибок и исключений в PHP: разбор на живом примере
Пользователь оплатил заказ, платёж прошёл, но письмо не ушло — а он видит белый экран. Разбираем, как в PHP 8.x разделять ошибки и исключения, чтобы такие случаи не терялись молча.

Пользователь оплатил заказ, платёж прошёл, но письмо не ушло — а он видит белый экран. Разбираем, как в PHP 8.x разделять ошибки и исключения, чтобы такие случаи не терялись молча.

Разница между ошибками и исключениями, почему @ и die() вредят, и как настроить перехват так, чтобы вы видели проблему в логе, а пользователь — вежливую страницу вместо белого экрана.

За полчаса вы напишете первый класс, наследника и интерфейс на PHP 8.x, запустите их в консоли и увидите результат. Разберём синтаксис, который часто путают новички.

Как поставить Composer, подключить первый пакет и получить рабочую автозагрузку классов без единого require. Пошагово, с проверками на каждом этапе.

Клиент видит в личном кабинете подписку, которая якобы истекла вчера, хотя оплатил её час назад. Виноват не код бизнес-логики, а незаметная ошибка с часовыми поясами и мутабельностью объектов дат.

Контекст не пробрасывается, спаны не закрываются, трейсы обрываются на границе горутины. Разбираем частые ошибки инструментирования Go-сервисов через OpenTelemetry и как их поймать до прода.

Почему date('Y-m-d') отдаёт вчерашний день, откуда берётся разница в час после перевода часов и как сравнивать даты, не наступая на грабли строк. Разбор типичных ошибок на PHP 8.x.

Смена контракта API ломает мобильные приложения, которые обновляются месяцами. Разбираем, где хранить версию, чем платит каждый подход и что рвётся первым при поддержке двух версий разом.

Мобильный клиент повторил POST /payments из-за таймаута — и списал деньги дважды. Разбираем, почему наивная идемпотентность на DRF ломается под гонкой запросов и как её чинить.

Письма из PHP уходят «в никуда» или падают в спам, а функция mail() возвращает true. Разбираем, что нужно настроить заранее и почему отправлять письма без SMTP-библиотеки — плохая идея.

Разберём, как отправить письмо из PHP так, чтобы оно дошло, а не упало в спам. От встроенной mail() до SMTP через PHPMailer — с рабочим кодом и разбором частых ошибок.

Как отправить письмо из PHP-скрипта так, чтобы оно дошло, а не упало в спам. Разбираем связку PHPMailer + SMTP: от установки до первого доставленного письма примерно за 20 минут.