Статті для PHP-розробників України
Технічні розбори, карʼєрні звіти й переклади документації. Кожен матеріал спирається на дані платформи: вакансії, вилки, банк питань, і на код, який можна запустити.
ФІЛЬТР
Doctrine✕
Тег «Doctrine» це фільтр, а не сторінка: у пошук він не віддається, canonical лишається /articles. Найсильніші теги перетворимо на окремі хаби, коли під них набереться контент.
НАЙНОВІША
ПРОДУКТИВНІСТЬ
12 вересня 2026
N+1 у Doctrine та Eloquent поруч: одна проблема, два набори інструментів
Ліниві звʼязки протікають однаково в обох ORM, а лагодяться по-різному: Eloquent добирає дані окремим запитом WHERE IN, Doctrine тягне їх fetch join'ом у той самий SQL. Три типові сценарії - список зі звʼязком, вкладені звʼязки й агрегати - з кодом до і після в Laravel 13 та Doctrine ORM 3.
РP
Редакція phpukraine
·
8 хв читання
2
статті
ПРОДУКТИВНІСТЬ
12 вересня 2026
N+1 у Doctrine та Eloquent поруч: одна проблема, два набори інструментів
Ліниві звʼязки протікають однаково в обох ORM, а лагодяться по-різному: Eloquent добирає дані окремим запитом WHERE IN, Doctrine тягне їх fetch join'ом у той самий SQL. Три типові сценарії - список зі звʼязком, вкладені звʼязки й агрегати - з кодом до і після в Laravel 13 та Doctrine ORM 3.
РP
Редакція phpukraine
·
8 хв
·N+1
·Doctrine
·Eloquent
SYMFONY
3 вересня 2026
Messenger і outbox: як не втратити подію між транзакцією і брокером
Класична дірка: сутність збережена, а повідомлення в брокер не пішло — або пішло, а транзакція відкотилась. Symfony Messenger вміє закривати її без окремої бібліотеки: Doctrine transport пише повідомлення тим самим з'єднанням, що й ваші сутності, тож INSERT потрапляє в ту саму транзакцію. Розбираємо конфіг, ретраї, failed transport, дедуплікацію на боці споживача і випадки, коли весь цей апарат вам не потрібен.
РP
Редакція phpukraine
·
9 хв
·Messenger
·Outbox
·Doctrine