Laravel 12 có gì mới
Laravel 12, phát hành vào ngày 24 tháng 2 năm 2025, tập trung vào việc bảo trì và cập nhật các phụ thuộc, với ít thay đổi phá vỡ so với các phiên bản trước. Dưới đây là một số điểm mới:
1. Starter Kits mới cho React, Vue và Livewire
Laravel 12 giới thiệu các bộ khởi tạo (starter kits) mới, thay thế cho Breeze và Jetstream, nhằm đơn giản hóa việc thiết lập dự án với các công nghệ giao diện người dùng phổ biến:
- React Starter Kit: Tích hợp Inertia, React 19, TypeScript, Tailwind CSS và các thành phần Shadcn.
- Vue Starter Kit: Sử dụng Inertia, Vue 3, TypeScript, Tailwind CSS và Shadcn-Vue.
- Livewire Starter Kit: Tận dụng Livewire 3, TypeScript, Tailwind CSS và các thành phần Flux UI.
- Các starter kit này được sao chép trực tiếp từ các kho lưu trữ GitHub vào ứng dụng của bạn, cho phép kiểm soát toàn bộ mã nguồn mà không phụ thuộc vào thư mục vendor của Composer. Chúng bao gồm các tính năng như xác thực, đăng ký, đặt lại mật khẩu và xác minh email, giúp tiết kiệm thời gian thiết lập ban đầu.
- Ngoài ra, có tùy chọn sử dụng WorkOS AuthKit, hỗ trợ xác thực xã hội (qua Google, GitHub, v.v.), passkey và đăng nhập một lần (SSO), miễn phí cho tối đa 1 triệu người dùng hoạt động hàng tháng.
2. Bản phát hành bảo trì với ít thay đổi đột phá
- Laravel 12 được thiết kế để hầu hết các ứng dụng có thể nâng cấp từ Laravel 11 mà không cần thay đổi mã ứng dụng. Điều này phản ánh triết lý của nhóm Laravel về việc phát hành các tính năng mới trong các bản cập nhật nhỏ hàng tuần thay vì chờ đợi các bản phát hành lớn hàng năm.
- Các phụ thuộc thượng nguồn (upstream dependencies) được cập nhật để đảm bảo tương thích với PHP 8.2 đến 8.4, mang lại sự ổn định và hiệu suất tốt hơn.
3. Cải tiến hiệu suất và công cụ
- Thay thế MD5 bằng xxHash: Laravel 12 chuyển sang sử dụng thuật toán băm xxHash nhanh hơn và hiệu quả hơn so với MD5, cải thiện hiệu suất trong các tác vụ như lưu trữ đệm hoặc tạo định danh duy nhất.
- Cải tiến Query Builder: Trình tạo truy vấn (Query Builder) được tối ưu hóa để tận dụng tốt hơn các tính năng cụ thể của cơ sở dữ liệu, giảm tính toán dư thừa và tăng tốc các truy vấn phức tạp.
- Cải tiến xử lý chuỗi: Hàm trợ giúp Str::is() (và str()->is()) giờ đây hỗ trợ khớp chuỗi đa dòng với bộ điều chỉnh regex s, giúp xử lý các mẫu ký tự có ký tự xuống dòng chính xác hơn.
4. Tích hợp WebSocket và khả năng thời gian thực
Laravel 12 cải thiện hỗ trợ WebSocket, giúp việc tích hợp các tính năng thời gian thực như thông báo trực tiếp, hệ thống trò chuyện hoặc cập nhật dữ liệu thời gian thực trở nên dễ dàng hơn. Cấu hình được đơn giản hóa và tích hợp tốt hơn với các công cụ phát sóng sự kiện hiện có của Laravel như Laravel Echo.
5. Cải tiến cấu trúc ứng dụng và công cụ phát triển
- Cấu trúc ứng dụng rõ ràng hơn: Laravel 12 cung cấp một cách tổ chức tệp dự án gọn gàng hơn, giúp dễ dàng quản lý và mở rộng dự án, đặc biệt hữu ích cho các nhóm phát triển lớn.
- Cải tiến Artisan CLI: Các lệnh Artisan được nâng cấp với gợi ý tự động, ghi nhật ký tốt hơn và tương tác thông minh hơn, giúp tiết kiệm thời gian khi thực hiện các tác vụ như quản lý di cư (migration) hoặc gỡ lỗi.
6. Thiết kế giao diện mới
- Trang chủ Laravel.com: Website chính thức của Laravel được làm mới với thiết kế động, sử dụng nhiều hiệu ứng chuyển động để thu hút các nhà phát triển mới.
- Trang mặc định của ứng dụng: Các dự án Laravel mới sẽ có giao diện trang chào mừng hiện đại hơn, được tối ưu hóa với Tailwind CSS.
7. Các tính năng khác
- Cải tiến hệ thống di cư (Migration): Hỗ trợ tốt hơn cho MariaDB với các công cụ dòng lệnh gốc (mariadb-dump và mariadb), loại bỏ cờ –column-statistics không được hỗ trợ.
- Cải tiến Dependency Injection: Container giờ đây tôn trọng giá trị mặc định của thuộc tính lớp khi giải quyết các thể hiện, giúp mã nguồn nhất quán hơn.
- Hỗ trợ TypeScript tốt hơn: Các starter kit tích hợp TypeScript, giúp phát triển giao diện người dùng hiện đại và dễ bảo trì hơn.
You need to login in order to like this post: click here
Apr 14, 2025
Apr 11, 2025