В типичном приложении на Laravel с развитой ролевой моделью Blade-шаблон страницы легко генерирует десятки вызовов @can, директив проверок прав или условий политик (Gate/Policy). Д…
Web разработка
Сервис-локатор в PHP: удобный инструмент или скрытая проблема?
Каждый разработчик в начале пути сталкивается с вопросом: как передать базу данных, логгер или почтовый сервис туда, где они нужны? Первое интуитивное решение — сделать единую глоб…
Архитектура настроек в PHP: почему константы — тупик, и почему JSON?
Во время рефакторинга интеграции с iiko (woo2iiko) я снова столкнулся с классической проблемой WordPress: как по-человечески организовать настройки в крупном плагине. WordPress ист…
NativePHP в 2026 году: можно ли всерьёз писать мобильные приложения на PHP?
PHP-разработчик обычно живёт в довольно понятном мире: Laravel, PostgreSQL, Redis, API, очереди, Blade или Livewire. Но рано или поздно появляется задача сделать мобильное приложен…
PHP Digest №2 — Июль–август 2026
Лето закончилось, а значит пора посмотреть, что произошло в PHP за последние два месяца. Главное событие — начался полноценный цикл релизов PHP 8.6. За июль мы дошли от Alpha 1 до…
Pest или Testo?
Недавно увидел Testo — новый фреймворк для тестов на PHP. Если в проекте уже используются Pest-тесты, стоит ли смотреть в сторону Testo и тем более переезжать? Короткий ответ: с ра…
Dandy Code Skills 3.0: как научить AI-агента писать и проверять PHP-код аккуратнее
AI-агенты уже неплохо пишут код. Но «код работает» и «код удобно поддерживать» — всё ещё разные вещи. Просишь агента поправить один метод, а он заодно создаёт сервис, DTO, интерфей…
PHP Digest — Май-июнь 2026
Лето 2026. PHP 8.5 уже в продакшене, Laravel 13 стабилизировался, а в августе нас ждёт Laracon US. За два месяца накопилось достаточно, чтобы собрать первый выпуск дайджеста. Поеха…