Материалы архива
Идемпотентные сидеры: демо-данные и контент без потерь
Три роли сидера, выбор ключа идемпотентности, разница между созданием и перезаписью, контролируемое переименов...
27 сен 2026 11 просм.
Аудит и лента активности одной таблицей
Схема журнала активности с контекстом в JSON, спор между явной записью и подпиской на события Doctrine, пагина...
23 сен 2026 24 просм.
Связи между модулями без десяти таблиц
Как связать задачу со страницей, страницу со страницей и задачу с задачей одной таблицей: схема обобщённой свя...
19 сен 2026 12 просм.
Хранилище файлов за интерфейсом: локальный диск и S3
Как развести локальный диск и объектное хранилище за одним интерфейсом: что должно быть в контракте, чего в нё...
16 сен 2026 24 просм.
Когда очередь падает: повторы, dead letter и мониторинг
Классификация отказов в Symfony Messenger, своя стратегия повторов под разные исключения, обработчик проваленн...
3 сен 2026 42 просм.
Swagger в PHP: как я начал документировать API только в 2022 году
Как Swagger превратил документацию из заметок в контракт API: Form Request и Resource в Laravel, DTO в Symfony...
1 сен 2026 50 просм.
Конвейер обработки документов на Symfony Messenger
Разбиение долгой обработки файла на цепочку сообщений: почему шаги отдельные, что передавать между ними, как р...
23 июл 2026 47 просм.
Конструктор анкет: анкета, шаг, блок, поле
Как устроен конструктор многошаговых анкет: зачем блок отдельно от шага, как одна структура живёт и в коде, и...
23 июн 2026 19 просм.
Пользовательские поля без миграций
Кастомные поля анкеты, которые заводит заказчик без релиза: две сущности, типизированное хранилище значений, в...
19 мая 2026 35 просм.
Self-hosted и SaaS из одного кода
Режим развёртывания как параметр конфигурации: что реально различается между коробкой и облаком, как скрыть ра...
16 апр 2026 31 просм.
Мультиарендность без отдельной базы на клиента
Как устроена изоляция арендаторов в общей базе: org-scoped маршруты, выбор места для фильтра, voters вместо пр...
17 мар 2026 25 просм.
UUID v7 как первичный ключ: что меняется в Doctrine и в шаблонах
Переход на UUID v7 в Symfony-проекте: генерация в конструкторе, выбор типа колонки в PostgreSQL, ловушка сравн...
10 фев 2026 25 просм.