Увійти Реєстрація
Блог Серії
Кар'єра
Вакансії Компанії
Навчання
Документація Співбесіди Тестування Відео
Екосистема
Пакети Ресурси Проєкти Інструменти Події
Інше
Про нас Реклама

Блог

Статті, новини, туторіали та переклади від учасників спільноти

No results.
PHP 8.6: що готує листопадовий реліз
Новини 05 серпня 2026

PHP 8.6: що готує листопадовий реліз

PHP 8.6 вийде 19 листопада 2026 року. Головне - часткове застосування функцій, яке нарешті робить оператор |> придатним до життя, нове Io\Poll API замість stream_select(), вбудований clamp() і безпечніші дефолти сесій. Плюс понад двадцять депрекейтів, які варто розгребти вже зараз.

Laravel Pint навчився форматувати Blade
Новини 04 серпня 2026

Laravel Pint навчився форматувати Blade

Pint 1.30.0 додав форматування Blade-шаблонів. Прапорець --blade вмикає правило Pint/laravel_blade, яке проганяє .blade.php через Prettier і plugin-blade: Blade-синтаксис, атрибути Alpine, wire:-звʼязки, сортування класів Tailwind. Опційно, без ламання наявних конфігів.

11
Tips 04 серпня 2026

Колекції Eloquent - це більше, ніж масиви

Eloquent повертає Collections, а не масиви.

Помилка - одразу викликати toArray() і працювати як з масивом.

Переваги колекцій:

  • Ланцюжки операцій
  • Зручні методи (map, filter, groupBy, pluck...)
  • Більш виразний код

Порада: тримайте дані в Collection якомога довше.

$users = User::all(); // Collection

// ПОГАНО
foreach ($users->toArray() as $user) {
  echo $user['name'];
}

// ДОБРЕ
$users->each(function ($user) {
  echo $user->name;
});

// Фільтрація й трансформація
$activeAdmins = $users
  ->where('active', true)
  ->where('is_admin', true)
  ->pluck('email');

// Групування
$byRole = $users->groupBy('role');

// Пара "id => name"
$names = $users->pluck('name', 'id');

// Перевірка
$hasAdmin = $users->contains('is_admin', true);
$hasAdult = $users->contains(fn($user) => $user->age > 18);
Laravel Doctor
Новини 04 серпня 2026

Laravel Doctor: діагностика вашого додатка однією Artisan-командою

На Laracon US 2026 анонсували Laravel Doctor - офіційний пакет для діагностики здоров'я Laravel-додатків через команду artisan doctor. Інструмент перевіряє конфігурацію, залежності, базу даних, кеш, черги та безпеку, автоматично виправляє проблеми де можливо і дозволяє пакетам реєструвати власні перевірки.

5
PhpStorm 2026.2
Новини 04 серпня 2026

Вийшов PhpStorm 2026.2 з інтеграцією Laravel і новими можливостями для розробки

JetBrains випустила PhpStorm 2026.2 з виділеним інструментом для Laravel, що об'єднує команди Artisan, логи помилок та деплоймент у Laravel Cloud. Також додано підтримку PHP 8.5 pipe operator, нові атрибути для роботи з файлами та менеджер навичок для AI-агентів.

8
Tips 03 серпня 2026

chunkById() - безпечна пакетна обробка

Обробляєте таблицю через chunk() і одночасно змінюєте колонку, за якою фільтруєте? Частина записів буде пропущена.

chunk() гортає сторінки через OFFSET. Якщо запис випадає з вибірки під час обробки, решта зсувається - і цілий пакет ви не побачите.

Як працює chunkById():

Замість OFFSET використовує where('id', '>', $lastId). Зсув вибірки більше не ламає ітерацію.

Коли обов'язково chunkById():

  • Оновлюєте поле, за яким фільтруєте
  • Видаляєте записи під час обходу
  • Будь-яка міграція даних із записом у ту саму таблицю

Порада: сортування задає сам chunkById() - не додавайте власний orderBy(), він його перезапише.

// НЕБЕЗПЕЧНО: пропустить половину записів
User::where('notified', false)
  ->chunk(100, function ($users) {
    foreach ($users as $user) {
      $user->update(['notified' => true]);
      // Вибірка "з'їдається", OFFSET перестрибує записи
    }
  });

// БЕЗПЕЧНО: курсор по первинному ключу
User::where('notified', false)
  ->chunkById(100, function ($users) {
    foreach ($users as $user) {
      $user->update(['notified' => true]);
    }
  });
// Видалення під час обходу - тільки chunkById()
Log::where('created_at', '<', now()->subYear())
  ->chunkById(500, function ($logs) {
    $logs->each->delete();
  });

// Власна колонка-курсор (наприклад, UUID-таблиця)
Order::where('status', 'pending')
  ->chunkById(200, function ($orders) {
    $orders->each->process();
  }, column: 'uuid');

// Читання без змін - звичайний chunk() достатній
Product::chunk(1000, function ($products) {
  foreach ($products as $product) {
    $this->exportToCsv($product);
  }
});

// each() - те саме, але по одному запису
User::where('active', true)->eachById(function ($user) {
  $user->recalculateStats();
}, 200);
CPX 2.0
Новини 01 серпня 2026

CPX: Інструмент для виконання Composer-пакетів без встановлення

CPX 2.0 - офіційний інструмент Laravel для запуску команд з будь-якого Composer-пакета без його встановлення в проєкт. Працює як npx для npm, усуває конфлікти залежностей і підтримує виконання PHP-файлів, gist-скриптів та REPL.

1

Статті, новини та посібники про Laravel і PHP українською: релізи фреймворку, патерни, інструменти та досвід команд. Нижче - розбивка за категоріями й темами, якщо хочете звузити пошук.

Зараз опубліковано 322 матеріали від 3 авторів. Останній матеріал - 30 жовтня 2026.