Все, що потрібно знати про Laravel 13

0
Перекладено ШІ
Оригінал: Laravel News
Оновлено: 21 лютого, 2026
Laravel 13 вийде в березні 2026 року й вимагатиме мінімум PHP 8.3. Хочете дізнатися, як PHP‑атрибути для моделей, нові налаштування черг і метод Cache::touch() вплинуть на вашу розробку?

Laravel 13 — наступний major-реліз фреймворку Laravel, запланований на березень 2026 року. Цей реліз вимагатиме мінімум PHP 8.3 і дотримуватиметься стандартного циклу підтримки Laravel: виправлення багів до III кварталу 2027 року та оновлення безпеки до I кварталу 2028 року.


# Нові можливості

Опис нововведень у Laravel 13 з’являтиметься тут по мірі їх оголошення.

# PHP Attributes Support

PR #58578 додає підтримку PHP 8 Attributes як альтернативу властивостям класу для конфігурації компонентів Laravel. Це зміна, що не порушує зворотної сумісності — існуючі конфігурації на основі властивостей продовжують працювати.

# Eloquent Models

Нові атрибути замінюють потребу визначати $table, $hidden, $fillable та інші властивості в моделях:

#[Table('users', key: 'user_id', keyType: 'string', incrementing: false)]
#[Hidden(['password'])]
#[Fillable(['name', 'email'])]
class User extends Model {}

Доступні атрибути для моделей:

# Queue Jobs

Конфігурацію черги тепер можна задавати безпосередньо в класі job:

#[Connection('redis')]
#[Queue('podcasts')]
#[Tries(3)]
#[Timeout(120)]
class ProcessPodcast implements ShouldQueue {}

Доступні атрибути для черг:

Ці атрибути також застосовуються до listeners, notifications, mailables та broadcast events.

# Console Commands

Команди можуть визначати signature та description через атрибути замість властивостей класу:

#[Signature('mail:send {user} {--queue}')]
#[Description('Send a marketing email to a user')]
class SendMailCommand extends Command {}

# Other Components

Атрибути також доступні для form requests (#[RedirectTo], #[StopOnFirstFailure]), API resources (#[Collects], #[PreserveKeys]), factories (#[UseModel]) та test seeders (#[Seed], #[Seeder]).

# Cache::touch()

PR #55954 додає метод Cache::touch(), який продовжує TTL кешованого елемента без читання чи повторного збереження значення:

// Extend by seconds
Cache::touch('user_session:123', 3600);
 
// Extend with a DateTime
Cache::touch('analytics_data', now()->addHours(6));
 
// Extend indefinitely
Cache::touch('report_cache', null);

Раніше для продовження TTL потрібно було виконати get, а потім put, тобто зайво передавати значення кешу по мережі. Cache::touch() уникає цього: Redis використовує один EXPIRE, Memcached — TOUCH, а драйвер бази даних виконує один UPDATE.

Метод повертає true при успіху і false, якщо ключ не існує. Реалізовано для всіх драйверів кешу: Array, APC, Database, DynamoDB, File, Memcached, Memoized, Null та Redis.


# Вимоги до версії PHP

Laravel 13 вимагатиме PHP 8.3 як мінімальну версію. Це підвищення порівняно з мінімальною вимогою PHP 8.2 у Laravel 12.

# Термін підтримки

За стандартною політикою підтримки, Laravel 13 отримає виправлення багів до III кварталу 2027 року та оновлення безпеки до I кварталу 2028 року:

Версія PHP (*) Випуск Виправлення багів до Оновлення безпеки до
10 8.1 - 8.3 February 14th, 2023 August 6th, 2024 February 4th, 2025
11 8.2 - 8.4 March 12th, 2024 September 3rd, 2025 March 12th, 2026
12 8.2 - 8.5 February 24th, 2025 August 13th, 2026 February 24th, 2027
13 8.3 - 8.5 Q1 2026 Q3 2027 Q1 2028

Laravel 12, випущений 24 лютого 2025 року, продовжуватиме отримувати:

Популярні

Logomark Logotype

Що нового в PHP 8.5

PHP 8.5 обіцяє безліч нових можливостей, таких як оператор Pipe, функції `array_first()` та `array_last()`, а також нове розширення URI. Чи готові ви дізнатися, як ці функції можуть спростити вашу розробку? Читайте далі, щоб дізнатися більше про ці захоплюючі нововведення

Logomark Logotype

Оптимізація запитів до бази даних за допомогою скорочених методів Laravel

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

Logomark Logotype

Випущено Livewire 3.6

Laravel Livewire випустив нову версію 3.6, яка приносить з собою цікаві HTML-директиви для управління видимістю DOM-елементів і JavaScript-діями. Досліджуйте нові можливості Livewire, що допоможуть вам створити ще більш інтерактивні користувацькі інтерфейси!