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

Блог

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

No results.
Tips 25 вересня 2026

countBy() - підрахунок за групами

Потрібно порахувати елементи за категоріями?

countBy() групує та одразу рахує.

Використання:

  • Підрахунок за статусом
  • Групування за категорією
  • Частотний аналіз
  • Статистика

Результат:

Колекція, де ключ - група, значення - кількість.

Порада: викликайте з callback, щоб задати власну логіку групування.

$orders = collect([
  ['status' => 'pending'],
  ['status' => 'completed'],
  ['status' => 'pending'],
  ['status' => 'cancelled'],
  ['status' => 'completed'],
  ['status' => 'completed'],
]);

$counts = $orders->countBy('status');
// ['pending' => 2, 'completed' => 3, 'cancelled' => 1]

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

$byAge = $users->countBy(fn($u) => floor($u->age / 10) * 10);
// [20 => X, 30 => Y, 40 => Z]

// Email-домени
$emails = collect([
  'john@gmail.com',
  'jane@yahoo.com',
  'bob@gmail.com',
  'alice@gmail.com',
]);

$domains = $emails->countBy(
  fn($e) => explode('@', $e)[1]
);
// ['gmail.com' => 3, 'yahoo.com' => 1]
// Розподіл за довжиною рядка
$words = collect(['hello', 'world', 'php', 'laravel', 'code']);

$lengths = $words->countBy(fn($word) => strlen($word));

// Статистика для dashboard
public function stats()
{
  $orders = Order::whereDate('created_at', today())->get();

  return [
    'by_status' => $orders->countBy('status'),
    'by_payment' => $orders->countBy('payment_method'),
    'by_hour' => $orders->countBy(
      fn($o) => $o->created_at->hour
    ),
  ];
}
Laravel Live Denmark
Новини 24 вересня 2026

Усі доповіді Laravel Live Denmark 2026 тепер доступні на YouTube

Опубліковано 17 записів виступів з конференції Laravel Live Denmark 2026. У плейлисті представлені теми від PHP-дженериків та Inertia до NativePHP, розробки пакетів, безпеки та штучного інтелекту.

16
Laravel 13.33
Новини 24 вересня 2026

Підтримка тегованого мемоїзованого кешу та оновлення атрибутів моделей у Laravel 13.33

Команда Laravel випустила версію 13.33.0 з підтримкою тегів для мемоїзованого кешу, атрибутом Refreshes для автоматичного перезавантаження згенерованих колонок моделей, новими модифікаторами для міграцій індексів та покращеними тестовими хелперами.

5
Laravel AI SDK 1.0
Новини 24 вересня 2026

Laravel AI SDK 1.0: класифікація, схвалення інструментів та нові можливості

Команда Laravel випустила версію 1.0 офіційного AI SDK - пакета, що надає єдиний API для роботи з різними AI-провайдерами. Оновлення включає класифікацію тексту, підтримку Vercel Chat та AG-UI протоколів, схвалення викликів інструментів та нову структуру зберігання розмов.

19
Fast Excel 5.x
Новини 23 вересня 2026

Fast Excel 5.x: потоковий імпорт та безпечний експорт даних

Пакет Fast Excel 5.x отримав значні оновлення: ледачий імпорт через LazyCollection, розподіл роботи між джобами, вибір аркушів та колонок, а також безпечну обробку формул при експорті користувацьких даних.

7
Health for Laravel
Новини 23 вересня 2026

Health for Laravel: Kubernetes Probes та Prometheus Metrics

Пакет Health for Laravel від Sylvester Damgaard забезпечує повноцінну систему health-перевірок для Laravel-додатків у Kubernetes з окремими ендпоінтами для трьох типів проб, інтеграцією Prometheus та 10 вбудованими перевірками.

9
PHP Social Network
Новини 23 вересня 2026

Нуно Мадуро проведе 48-годинний стрім зі створення соціальної мережі на PHP

Нуно Мадуро оголосив про дводенний live stream, де разом із Brent Roose та Matthieu Napoli створюватиме повноцінну соціальну мережу на PHP за 48 годин. Трансляція відбудеться 15-16 жовтня з офісу JetBrains.

42
Tips 23 вересня 2026

collect() - колекції будь-де

Працюєте з масивами? Перетворіть їх на колекції одним викликом.

collect() обгортає масив у Collection.

Переваги:

  • Fluent-синтаксис
  • Доступ до всіх методів колекцій
  • Використання в будь-яких шарах застосунку

Порада: застосовуйте collect() до масивів з Request для зручного фільтрування.

// Масив → колекція
$data = collect([1, 2, 3, 4, 5]);

$result = $data->filter(fn($n) => $n > 2)
  ->map(fn($n) => $n * 2)
  ->sum();

// Обробка request-даних
public function store(Request $request)
{
  $tags = collect($request->tags)
    ->filter()
    ->unique()
    ->values()
    ->toArray();

  Post::create([
    'title' => $request->title,
    'tags' => $tags,
  ]);
}

// Конфігураційні масиви
$activeModules = collect(config('modules'))
  ->filter(fn($module) => $module['enabled'])
  ->pluck('name')
  ->toArray();
// API-відповідь
$apiData = Http::get('api/users')->json();

$users = collect($apiData['users'])
  ->map(fn($user) => [
    'id' => $user['id'],
    'name' => $user['first_name'] . ' ' . $user['last_name'],
    'email' => $user['email'],
  ])
  ->filter(fn($user) => $user['email'])
  ->values();

// Робота з файлами
$lines = collect(file('data.txt'))
  ->map(fn($line) => trim($line))
  ->filter()
  ->unique();
Difflock
Новини 22 вересня 2026

Difflock: Лінтинг Laravel-міграцій та перевірка схеми бази даних

Difflock - Laravel-пакет для аналізу міграцій перед їх застосуванням. Він перевіряє міграції на деструктивні операції, зміни колонок, індекси та зовнішні ключі, порівнює схеми баз даних та блокує ризиковані зміни у CI/CD.

27

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

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