Мульти-тенантность (multi-tenancy, многоарендность) — это архитектурный подход, при котором один единственный работающий экземпляр приложения обслуживает множество изолирован…
CMS & Frameworks
CMS (англ. Content Management System) ― это система создания и управления сайтом.
Pest 5: разбираем breaking changes, параллельные кэши и почему старые костыли отправляются в архив
При запуске параллельных тестов и проверки покрытия типов в крупных PHP-проектах на связке Pest + PHPStan разработчики часто сталкиваются со странными падениями. Самый яркий пример…
Мемоизированный тегированный кэш в Laravel: разбираем Cache::memo()->tags()
В типичном приложении на Laravel с развитой ролевой моделью Blade-шаблон страницы легко генерирует десятки вызовов @can, директив проверок прав или условий политик (Gate/Policy). Д…
Архитектура настроек в PHP: почему константы — тупик, и почему JSON?
Во время рефакторинга интеграции с iiko (woo2iiko) я снова столкнулся с классической проблемой WordPress: как по-человечески организовать настройки в крупном плагине. WordPress ист…
Очереди Laravel на shared-хостинге
На shared-хостинге обычно нельзя установить Supervisor или systemd для постоянно работающего worker-а. Это не мешает использовать очереди Laravel: jobs хранятся в базе данных, а ко…
NativePHP в 2026 году: можно ли всерьёз писать мобильные приложения на PHP?
PHP-разработчик обычно живёт в довольно понятном мире: Laravel, PostgreSQL, Redis, API, очереди, Blade или Livewire. Но рано или поздно появляется задача сделать мобильное приложен…
Как работают «Запомнить меня» и SESSION_LIFETIME в Laravel Starter Kits
В Laravel Starter Kits уже есть всё необходимое для авторизации: форма входа, обычная сессия и checkbox «Запомнить меня». На первый взгляд кажется, что за срок авторизации отвечает…
Pest или Testo?
Недавно увидел Testo — новый фреймворк для тестов на PHP. Если в проекте уже используются Pest-тесты, стоит ли смотреть в сторону Testo и тем более переезжать? Короткий ответ: с ра…