Laravel 13 Phát Hành: PHP 8.3, Attributes, Laravel AI và Lộ Trình Nâng Cấp Mượt Mà Hơn

Laravel 13 Phát Hành: PHP 8.3, Attributes, Laravel AI và Lộ Trình Nâng Cấp Mượt Mà Hơn

Nguồn: laravel-news.com/laravel-13-released
Tác giả: Eric L. Barnes | Ngày đăng: 17 tháng 3, 2026


Laravel 13 đã chính thức phát hành. Phiên bản này yêu cầu PHP 8.3 là phiên bản tối thiểu và sẽ theo chu kỳ hỗ trợ tiêu chuẩn của Laravel với bản vá lỗi đến Quý 3/2027 và cập nhật bảo mật đến Quý 1/2028.

Theo nhóm phát triển Laravel:

“Phần lớn nỗ lực của chúng tôi trong chu kỳ phát hành này là giảm thiểu các thay đổi phá vỡ tương thích (breaking changes). Thay vào đó, chúng tôi dành tâm huyết để liên tục cải thiện chất lượng sử dụng trong suốt cả năm mà không làm ảnh hưởng đến các ứng dụng hiện có.”


Những Gì Mới Trong Laravel 13

:red_circle: PHP 8.3 Là Bắt Buộc

Laravel 13 bỏ hỗ trợ PHP 8.2 và giờ yêu cầu PHP 8.3 trở lên.


:label: Hỗ Trợ Toàn Diện Cho PHP Attributes

Cải tiến lớn nhất dành cho lập trình viên là sự xuất hiện của PHP Attributes thuần túy trên nhiều phần của framework.

// VÍ DỤ VỀ MODEL

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

Thay vì cấu hình hành vi thông qua các thuộc tính lớp (class properties), bạn có thể định nghĩa trực tiếp bằng attributes tại chỗ. Tính năng này áp dụng cho:

  • Models
  • Jobs
  • Console commands
  • Và hơn 15 vị trí khác trong framework

:white_check_mark: Hoàn toàn tùy chọntương thích ngược.


:robot: Laravel AI SDK

Laravel 13 giới thiệu Laravel AI SDK chính thức, cung cấp một API thống nhất cho:

  • Tạo văn bản (text generation)
  • Các agent gọi công cụ (tool-calling agents)
  • Nhúng vector (embeddings)
  • Âm thanh & hình ảnh
  • Tích hợp với vector store

:package: JSON:API Resources

Laravel nay tích hợp sẵn JSON:API resources chính thức, giúp dễ dàng trả về các phản hồi tuân thủ đặc tả JSON:API.

Tính năng này xử lý:

  • Tuần tự hóa đối tượng tài nguyên (resource object serialization)
  • Bao gồm các quan hệ (relationship inclusion)
  • Sparse fieldsets
  • Links
  • Các header phản hồi tuân chuẩn JSON:API

:open_book: Đọc thêm: laravel.com/docs/13.x/eloquent-resources#jsonapi-resources


:shuffle_tracks_button: Queue Routing

Laravel 13 thêm tính năng định tuyến queue theo class thông qua Queue::route(...), cho phép định nghĩa các quy tắc routing mặc định cho queue/connection của từng job ở một nơi tập trung:

Queue::route(ProcessPodcast::class, connection: 'redis', queue: 'podcasts');

:magnifying_glass_tilted_left: Tìm Kiếm Ngữ Nghĩa / Vector Search

Laravel 13 tích hợp sẵn hỗ trợ truy vấn vector, quy trình nhúng (embedding workflows) và các API liên quan. Các tính năng này giúp dễ dàng xây dựng trải nghiệm tìm kiếm bằng AI với PostgreSQL + pgvector, bao gồm tìm kiếm độ tương đồng với embeddings được tạo trực tiếp từ chuỗi văn bản.

Ví dụ, bạn có thể thực hiện tìm kiếm ngữ nghĩa trực tiếp từ query builder:

$documents = DB::table('documents')
    ->whereVectorSimilarTo('embedding', 'Best wineries in Napa Valley')
    ->limit(10)
    ->get();

:stopwatch: Cache::touch()

Phương thức mới Cache::touch() cho phép gia hạn TTL của một item trong cache mà không cần lấy hoặc lưu lại giá trị:

// Gia hạn theo giây
Cache::touch('user_session:123', 3600);

// Gia hạn theo DateTime
Cache::touch('analytics_data', now()->addHours(6));

// Gia hạn vô thời hạn
Cache::touch('report_cache', null);

Trước đây, để gia hạn TTL cần phải get rồi put, đồng nghĩa với việc phải truyền dữ liệu qua mạng một cách không cần thiết. Cache::touch() bỏ qua bước đó — Redis dùng lệnh EXPIRE đơn, Memcached dùng TOUCH, và driver database chỉ phát một câu UPDATE.

Phương thức trả về true khi thành công và false nếu key không tồn tại. Được triển khai trên tất cả các cache driver: Array, APC, Database, DynamoDB, File, Memcached, Memoized, Null và Redis.


:date: Lịch Hỗ Trợ Laravel 13

Theo chính sách hỗ trợ của Laravel, phiên bản 13 sẽ nhận vá lỗi đến Quý 3/2027 và cập nhật bảo mật đến Quý 1/2028:

Phiên bản PHP Phát hành Vá lỗi đến Bảo mật đến
10 8.1 – 8.3 14/02/2023 06/08/2024 04/02/2025
11 8.2 – 8.4 12/03/2024 03/09/2025 12/03/2026
12 8.2 – 8.5 24/02/2025 13/08/2026 24/02/2027
13 8.3–8.5 Quý 1/2026 Quý 3/2027 Quý 1/2028

Laravel 12 (phát hành ngày 24/02/2025) vẫn tiếp tục nhận vá lỗi đến 13/08/2026 và cập nhật bảo mật đến 24/02/2027.


:up_arrow: Nâng Cấp Lên Laravel 13

Nếu bạn muốn một cách dễ dàng để cập nhật dự án lên phiên bản mới nhất, hãy thử Laravel Shift. Shift sẽ tự động mở một Pull Request với các commit rõ ràng, nguyên tử để bạn xem xét chỉ trong vài cú nhấp chuột.


© Bản dịch tiếng Việt — Nội dung gốc từ Laravel News