Статті для PHP-розробників України
Технічні розбори, карʼєрні звіти й переклади документації. Кожен матеріал спирається на дані платформи: вакансії, вилки, банк питань, і на код, який можна запустити.
ФІЛЬТР
Eloquent✕
Тег «Eloquent» це фільтр, а не сторінка: у пошук він не віддається, canonical лишається /articles. Найсильніші теги перетворимо на окремі хаби, коли під них набереться контент.
НАЙНОВІША
LARAVEL
25 вересня 2026
Власні касти в Eloquent: value objects у колонках без магії
Три колонки з зарплатою, які всюди читають разом, і JSON-масив тегів, який кожен нормалізує по-своєму. Кастом можна закрити обидва випадки так, щоб модель віддавала готовий обʼєкт, а база лишалась базою. Розбираємо CastsAttributes і Castable на Laravel 13, включно з тим, де каст перестає працювати: у `where`, в `isDirty` і в `toArray`.
РP
Редакція phpukraine
·
8 хв читання
5
статей
LARAVEL
25 вересня 2026
Власні касти в Eloquent: value objects у колонках без магії
Три колонки з зарплатою, які всюди читають разом, і JSON-масив тегів, який кожен нормалізує по-своєму. Кастом можна закрити обидва випадки так, щоб модель віддавала готовий обʼєкт, а база лишалась базою. Розбираємо CastsAttributes і Castable на Laravel 13, включно з тим, де каст перестає працювати: у `where`, в `isDirty` і в `toArray`.
РP
Редакція phpukraine
·
8 хв
·Eloquent
·Value objects
·Casts
LARAVEL
15 вересня 2026
Eloquent і доменна модель: де провести межу, щоб не переписувати все двічі
Мапер і репозиторій коштують конкретних рядків коду й конкретних незручностей. У Hiring на phpukraine вони є, у Content і Contact їх майже немає, і це не непослідовність, а різна ціна помилки. Розбираємо на власному коді, за якими ознаками приймалось рішення і які півзаходи не дають нічого.
РP
Редакція phpukraine
·
8 хв
·Eloquent
·DDD
·Репозиторії
ПРОДУКТИВНІСТЬ
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
LARAVEL
3 вересня 2026
Filament 5 для адмінки контентного сайту: що дає з коробки і де межа
Панель phpukraine живе на /panel: Filament v5.7 поверх Laravel 13 і Livewire 4. Вакансії й ліди в ній редагуються, а контент — ні, бо його джерело у файлах репозиторію. Розбираємо, що генерує make:filament-resource, як зробити ресурс лише для перегляду, звідки віджети беруть цифри і в якій точці Filament перестає допомагати.
РP
Редакція phpukraine
·
7 хв
·Filament
·Адмінка
·Eloquent
LARAVEL
2 вересня 2026
N+1 в Eloquent: як знайти, виправити і більше не допустити
Кожен запит швидкий, а сторінка повільна. Розбираємо механіку N+1 у Laravel, три способи його зловити до продакшену і випадки, коли eager loading робить гірше.
РP
Редакція phpukraine
·
4 хв
·Eloquent
·N+1
·Продуктивність