
Генераторы и yield в PHP: рабочие приёмы из практики
Когда обычный массив съедает всю память на большом CSV, а построчное чтение выглядит громоздко. Разбираем, где yield реально помогает в PHP 8.x, а где создаёт скрытые проблемы.

Когда обычный массив съедает всю память на большом CSV, а построчное чтение выглядит громоздко. Разбираем, где yield реально помогает в PHP 8.x, а где создаёт скрытые проблемы.

Три слоя кеша в PHP решают три разные задачи, и подмена одного другим бьёт по производительности. Разбираем, что кешировать в opcache, что в APCu, а что выносить в Redis.

json_decode вернул null, а вы этого не проверили — и клиентский код упал на пустом ответе. Разбираем ошибки при работе с JSON и HTTP-API в PHP 8.x: от молчаливых null до таймаутов, которые вешают весь запрос.

Что проверить в коде, который парсит JSON и ходит во внешние API, прежде чем выкатывать его на боевой сервер: от флагов json_decode до таймаутов cURL.

cURL, Guzzle, Symfony HttpClient и нативный json_encode с флагами — четыре способа ходить в чужой API из PHP 8.x. У каждого своя цена: контроль, зависимости, поведение при ошибках.

Разбираем, как объявить namespace, подключить классы через use и связать всё с автозагрузкой PSR-4, чтобы не ловить Class not found. Для PHP 8.x.

Autoloader молчит на локали и падает Class not found в проде. Разбираем, что проверить в namespace, use и composer.json до деплоя, чтобы регистр файлов и кеш классов не уронили сборку.

Перед деплоем PHP-проекта проверяют не только тесты. Разбираем, какие PSR реально влияют на автозагрузку и продакшен, и собираем чек-лист, который ловит проблемы до того, как они дойдут до боевого сервера.

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

Class not found на проде, а локально всё работает. Разбираем, как PSR-4 маппит неймспейсы на файлы, почему регистр имени класса решает всё и когда classmap быстрее автозагрузки.

Форма обратной связи и корзина интернет-магазина — первые цели для инъекций, XSS и CSRF. Разбираем, где типичный PHP-код на приёме данных дырявый и как закрыть эти дыры без магии.

За полчаса вы отделите HTML от логики в PHP-проекте без Blade и Twig — на чистом PHP. Разберём подключение шаблона, передачу данных и защиту от XSS.