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

Блог

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

No results.
Tips 12 жовтня 2026

`bail` - зупинити валідацію після першої помилки

У поля email 5 правил. Усі падають — користувач бачить 5 помилок.

Це плутає.

bail зупиняє валідацію поля на першій помилці.

Навіщо:

  • Кращий UX — по одній помилці
  • Продуктивність — не запускаємо дорогі перевірки
  • Чіткіші повідомлення

Як працює:

Додайте bail першим правилом для поля.

Порада: ставте перед дорогими правилами типу exists:, unique: або кастомними перевірками з API.

public function rules()
{
  return [
    'email' => 'bail|required|email|max:255|unique:users',
    'username' => [
      'bail',
      'required',
      'min:3',
      Rule::unique('users')->ignore($this->user),
      new CheckExternalAPI,
    ],
  ];
}
Laravel AI SDK на практиці
Новини 09 жовтня 2026

Laravel AI SDK на практиці: агент, що стоїть за There There

Фрік Ван дер Гертен розповідає, як у Spatie побудували AI-шар хелпдеска There There на Laravel AI SDK: клас агента, інструменти з типізованою JSON-схемою та делегування роботи звичайним domain-діям.

18
CSRF і завантаження
Новини 09 жовтня 2026

Порада з безпеки: як завантаження файлів може обійти захист від CSRF

Стівен Ріс-Картер пояснює, чому файли користувачів варто віддавати з окремого домену: HTML і JS у межах основного застосунку дають доступ до cookie та CSRF-токенів.

25
Tips 09 жовтня 2026

`prepareForValidation()` - чистимо дані до валідації

Телефон приходить як "(123) 456-7890", а в БД потрібен "1234567890".

Санітизація в контролері? Це вже запізно.

prepareForValidation() змінює дані запиту до запуску правил.

Коли корисно:

  • Нормалізація телефону
  • Прибирання пробілів
  • Конвертація типів
  • Додавання обчислюваних полів

Важливо:

Виконується до валідації — ідеально для нормалізації.

Порада: merge() додає/оновлює поля, replace() повністю замінює масив даних.

protected function prepareForValidation()
{
  $this->merge([
    'phone' => preg_replace('/[^0-9]/', '', $this->phone),
    'slug' => Str::slug($this->title),
    'price' => (float) $this->price,
    'name' => trim($this->name),
    'email' => strtolower(trim($this->email)),
  ]);
}
Порядок middleware
Новини 07 жовтня 2026

Порядок авторизації та прив’язки моделей у Laravel: чому замість 403 приходить 404

Чому користувач без прав отримує 404 замість 403 на маршрутах із route model binding, як це пов’язано з пріоритетом middleware SubstituteBindings та Authorize і як це виправити за допомогою PermissionMiddleware.

19
Laravel AI SDK
Новини 07 жовтня 2026

Стрімінг відповідей ШІ з Laravel до React: досвід команди There There

Freek Van der Herten показує, як у Spatie стрімлять відповіді агента на базі Laravel AI SDK у React: генератор на сервері, NDJSON у відповіді та невеликий буферний цикл на клієнті - близько сотні рядків коду.

11
Tips 07 жовтня 2026

`exclude()` - прибираємо поля з валідованих даних

У формі є CSRF-токен та допоміжні поля. Ви не хочете, щоб вони потрапили у validated().

exclude_if, exclude_unless прибирають поля умовно.

Коли корисно:

  • Прибрати UI-only поля
  • Виключити поля залежно від ролі
  • Не логувати чутливі поля
  • Тримати валідовані дані “чистими”

Доступні правила:

  • exclude — завжди прибирає
  • exclude_if — прибирає, якщо умова істинна
  • exclude_unless — прибирає, якщо умова хибна
  • exclude_with — прибирає, якщо інше поле присутнє

Порада: краще за ручний unset() після валідації.

public function rules()
{
  return [
    'name' => 'required',
    'admin_notes' => 'exclude', // не потрапить у validated()
    'is_admin' => 'exclude_unless:user.role,admin',
    'card_number' => 'exclude_if:payment_method,cash',
    'paypal_email' => 'exclude_if:payment_method,card',
  ];
}
PHPStan 2.3: стрибок продуктивності, покращені generics і виявлення невикористаних змінних
Новини 06 жовтня 2026

PHPStan 2.3: стрибок продуктивності, покращені generics і виявлення невикористаних змінних

PHPStan 2.3.0 працює до 7,5× швидше, ніж десять місяців тому, має розумніший кеш результатів, двонапрямне звуження типів для generics (new Collection(...)) і нові перевірки невикористаних змінних, присвоєнь та параметрів.

17
Pgvector Laravel
Новини 06 жовтня 2026

Простий векторний пошук подібності для Laravel: драйвер Pgvector для Scout

Бен Бьюрстром створив драйвер Pgvector для Laravel Scout, який автоматично підтримує актуальність векторних ембедингів і дає змогу шукати дані за змістом, а не лише за ключовими словами.

20

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

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