Laravel đã là một trong những framework PHP phổ biến nhất trong nhiều năm. Nó thanh lịch, có khả năng mở rộng, đã trở thành một trong những khuôn khổ thực tế cho các nhà phát triển và các công ty làm việc với PHP. Laravel 9 là bản phát hành mới nhất và đi kèm với nhiều tính năng mới.
Trong quá khứ, việc phát hành Laravel mới diễn ra sáu tháng một lần, dẫn đến một lượng lớn câu hỏi, bình luận gay gắt và sự nhầm lẫn về quy trình phát hành mới của Laravel. Với việc phát hành Laravel 9 vào tháng 2 năm 2022, khuôn khổ đã chuyển sang chu kỳ phát hành chính 12 tháng.
Bài viết này khám phá các tính năng chính của Laravel 9. Trên hết, chúng tôi cũng sẽ trình bày chi tiết cách nâng cấp lên Laravel 9 và bắt đầu phát triển các ứng dụng web.
Laravel là gì?
Laravel là một khung ứng dụng web PHP mã nguồn mở được biết đến với cú pháp thanh lịch. Đó là một khung công tác MVC để xây dựng các ứng dụng web từ đơn giản đến phức tạp bằng ngôn ngữ lập trình PHP và nó tuân thủ nghiêm ngặt mô hình kiến trúc MVC (model – view – controller).
Nếu bạn chưa sử dụng Laravel, bạn có thể đọc về Laravel là gì và xem qua danh sách các hướng dẫn tuyệt vời về Laravel của chúng tôi để bắt đầu.
Các tính năng chính của Laravel
Nếu bạn chưa quen với khung này, chúng tôi đã sắp xếp một số tính năng tốt nhất của Laravel để bạn hiểu rõ hơn.

ORM hùng hồn
Trình ánh xạ quan hệ đối tượng (ORM) cho Laravel được gọi là Eloquent, và đó là một trong những tính năng tốt nhất của Laravel vì nó cho phép tương tác liền mạch với mô hình dữ liệu và cơ sở dữ liệu đã chọn.
Với Eloquent, Laravel loại bỏ mọi rào cản liên quan đến việc tương tác và viết các truy vấn SQL phức tạp để truy cập dữ liệu từ cơ sở dữ liệu của bạn.
Nghệ nhân CLI
Artisan CLI, hay dòng lệnh, là một khía cạnh quan trọng khác của Laravel. Với nó, bạn có thể tạo hoặc sửa đổi bất kỳ phần nào của Laravel từ dòng lệnh mà không cần phải điều hướng qua các thư mục và tệp.
Với Artisan, bạn thậm chí có thể tương tác với cơ sở dữ liệu của mình trực tiếp từ dòng lệnh bằng cách sử dụng Laravel Tinker – tất cả mà không cần cài đặt ứng dụng khách cơ sở dữ liệu.
Kiến trúc MVC
Bản chất kiến trúc MVC của Laravel làm cho ngôn ngữ này trở nên tương đối và dễ thích ứng vì nó tuân theo một mô hình phát triển web phổ biến với những cải tiến liên tục, đáng kể.
Laravel sẽ buộc bạn phải học và hiểu mô hình kiến trúc MVC, phổ biến và được sử dụng trong hầu hết các framework, chẳng hạn như AdonisJS từ JavaScript và ASP.NET MVC từ C #.
Phân trang tự động
Nếu bạn đã từng đấu tranh với việc phân trang trong các ứng dụng của mình, bạn sẽ hiểu giá trị của việc phân trang của bạn được sắp xếp theo một khung dựng sẵn.
Laravel giải quyết rắc rối phân trang bằng cách xây dựng tính năng phân trang tự động ngay lập tức. Tính năng này là một trong những tính năng được công nhận nhiều nhất và nó giúp loại bỏ công việc liên quan đến việc tự mình giải quyết bí ẩn phân trang.
Bảo vệ
Điều cần thiết là phải xem xét kỹ lưỡng các biện pháp bảo mật của bất kỳ ứng dụng web nào mà bạn đang xem xét sử dụng, vì việc thiếu trách nhiệm giải trình có thể dẫn đến mất tiền hoặc thậm chí bị chiếm đoạt trang web hoặc sản phẩm của bạn.
Laravel đi kèm với nhiều biện pháp bảo mật do tuân thủ các nguyên tắc bảo mật của OWASP. Từ giả mạo yêu cầu trên nhiều trang web (CSRF) đến chèn SQL, Laravel có một giải pháp tích hợp cho tất cả.
Có gì mới trong Laravel 9
Dự kiến phát hành vào tháng 9 năm 2021, bản phát hành của Laravel 9 đã được đẩy sang tháng 1 năm 2022 (và sau đó là tháng 2 năm 2022), khiến nó trở thành bản phát hành hỗ trợ dài hạn (LTS) đầu tiên được giới thiệu sau chu kỳ phát hành 12 tháng. Sự chậm trễ này là do nhiều lý do, bao gồm nhưng không giới hạn ở những lý do sau:
- Laravel sử dụng nhiều loại dự án hướng tới cộng đồng và khoảng chín thư viện Symfony. Tuy nhiên, Symfony đang lên kế hoạch phát hành phiên bản 6.0 vào tháng 11 năm 2021. Việc trì hoãn sẽ cho phép nhóm Laravel kết hợp phiên bản Symfony mới này như một phần của Laravel 9.
- Sự chậm trễ sẽ giúp nhóm có thời gian theo dõi cách Laravel tương tác với phiên bản Symfony mới trong hai tháng. Nó cũng cung cấp cho họ chỗ để sửa bất kỳ lỗi hoặc thay đổi vi phạm nào.
- Cuối cùng, việc trì hoãn Laravel 9 định vị tốt hơn cho nhóm Laravel cho các bản phát hành hàng năm trong tương lai. Sau khi Symfony phát hành, nó sẽ cung cấp cho nhóm thời gian tăng cường thêm hai tháng.
Vì những lý do này, bạn có thể thấy rằng độ trễ phát hành đáng để chờ đợi.
Các tính năng mới trong Laravel 9
Bây giờ, hãy cùng khám phá danh sách các tính năng và cải tiến mà bạn nên mong đợi trong bản phát hành chính sắp tới của Laravel.
Đăng kí để nhận thư mới
Yêu cầu PHP tối thiểu
Đầu tiên và quan trọng nhất, Laravel 9 yêu cầu PHP 8 và PHPUnit 8 mới nhất để thử nghiệm. Đó là bởi vì Laravel 9 sẽ sử dụng Symfony v6.0 mới nhất, cũng yêu cầu PHP 8.
PHP 8 có những cải tiến và tính năng đáng kể, từ trình biên dịch JIT đến quảng bá thuộc tính phương thức khởi tạo. Bạn có thể khám phá các điểm chuẩn của các phiên bản PHP khác nhau và tìm hiểu cách nâng cấp lên PHP 8 mới nhất tại đây trên blog của chúng tôi.
Di chuyển Stub ẩn danh
Laravel đặt hành vi mặc định cho việc di chuyển sơ khai ẩn danh khi bạn chạy lệnh di chuyển phổ biến:
php artisan make:migration
Tính năng di chuyển sơ khai ẩn danh lần đầu tiên được phát hành trong Laravel 8.37 để giải quyết vấn đề Github này. Vấn đề là nhiều lần di chuyển có cùng tên lớp có thể gây ra sự cố khi cố gắng tạo lại cơ sở dữ liệu từ đầu. Tính năng di chuyển sơ khai mới loại bỏ xung đột tên lớp di chuyển.
Từ Laravel 8.37, khung công tác hiện hỗ trợ các tệp di chuyển lớp ẩn danh và trong Laravel 9, nó sẽ là hành vi mặc định.
<?php use IlluminateDatabaseMigrationsMigration; use IlluminateDatabaseSchemaBlueprint; use IlluminateSupportFacadesSchema; return new class extends Migration { /** * Run the migrations. * * @return void */ public function up() { Schema::table('people', function (Blueprint $table) { $table->string('first_name')->nullable(); }); } };
Giao diện trình tạo truy vấn mới
Với Laravel 9 mới, gợi ý kiểu có độ tin cậy cao để tái cấu trúc, phân tích tĩnh và hoàn thành mã trong IDE của chúng. Do thiếu giao diện được chia sẻ hoặc kế thừa giữa Query Builder, Eloquent Builder và Eloquent Relation. Tuy nhiên, với Laravel 9, các nhà phát triển giờ đây có thể tận hưởng giao diện trình tạo truy vấn mới để gợi ý kiểu, tái cấu trúc và phân tích tĩnh.
<?php return Model::query() ->whereNotExists(function($query) { // $query is a QueryBuilder }) ->whereHas('relation', function($query) { // $query is an EloquentBuilder }) ->with('relation', function($query) { // $query is an EloquentRelation });
Phiên bản này đã thêm IlluminateContractsDatabaseQueryBuilder interface
IlluminateDatabaseEloquentConcernsDecoratesQueryBuilder
sẽ triển khai giao diện thay cho phương thức ma thuật __call
.
Cần lưu trữ nhanh chóng, đáng tin cậy và hoàn toàn an toàn cho trang web thương mại điện tử của bạn? Kinsta cung cấp tất cả những điều này và hỗ trợ đẳng cấp thế giới 24/7 từ các chuyên gia PHP. Kiểm tra các kế hoạch của chúng tôi
Các hàm chuỗi 8 trong PHP
Vì Laravel 9 nhắm mục tiêu PHP 8, Laravel đã hợp nhất PR này, đề xuất sử dụng các hàm chuỗi PHP 8 mới nhất.
Các hàm này bao gồm việc sử dụng str_contains()
, str_starts_with()
và str_ends_with()
trong lớp IlluminateSupportStr
.
Các tính năng và cải tiến của Laravel 9 được liệt kê ở trên là một cái nhìn sơ lược về những gì sắp xảy ra. Nó chắc chắn sẽ mang lại nhiều bản sửa lỗi, tính năng và tất nhiên, nhiều thay đổi đột phá.
Cách cài đặt Laravel 9
Nếu bạn muốn bắt đầu chơi với Laravel 9 cho mục đích phát triển và thử nghiệm, bạn có thể dễ dàng cài đặt và chạy nó trên máy cục bộ của mình.
Laravel 9 hỗ trợ phiên bản PHP 8, vì vậy nếu bạn định kiểm tra nó, hãy đảm bảo kiểm tra phiên bản PHP của bạn hoặc bắt đầu cài đặt mới.
Bạn có thể khám phá thêm chi tiết về bản phát hành thông qua Packagist.
Để cài đặt Laravel 9 bằng trình soạn nhạc, hãy chạy như sau:
composer create-project --prefer-dist laravel/laravel laravel-9-dev dev-develop
Lệnh trên sẽ tạo một dự án Laravel mới với tên dự án laravel-9-dev
, sử dụng Laravel 9 mới nhất, như chúng ta đã biết, vẫn đang được phát triển (do đó dev-develop
development).
Phương pháp thứ hai là sử dụng Laravel global CLI để tạo một dự án Laravel mới và chọn tạo dự án mới của bạn từ nhánh nhà phát triển.
Nhập lệnh sau để tạo một dự án Laravel 9 mới:
laravel new laravel-9-dev --dev
Bây giờ bạn đã cài đặt xong Laravel 9, bạn có thể nhập vào thư mục mới (laravel-dev) và thực hiện lệnh thủ công để kiểm tra phiên bản:
cd laravel-9-dev php artisan --version
Nó sẽ giới thiệu cho bạn phiên bản phát triển của Laravel 9. Voilà!
Bản tóm tắt
Laravel là một khung công tác PHP hấp dẫn đang được các nhà phát triển chú ý nhiều hơn. Laravel 9 là phiên bản đầu tiên sau chu kỳ phát hành 12 tháng và chúng ta đã có thể trải nghiệm các tính năng mới “ngon lành” của nó.
Nhóm Laravel có thể sẽ công bố các tính năng và bản cập nhật mới trong tương lai. Vì vậy, hãy đảm bảo đánh dấu bài đăng này vì chúng tôi sẽ đề cập đến chúng trong các bản cập nhật trong tương lai.
Bây giờ đến lượt của bạn! Bạn mong chờ điều gì nhất với Laravel 9? Cho chúng tôi biết trong phần ý kiến!
Tiết kiệm thời gian, chi phí và tối đa hóa hiệu suất trang web với:
- Trợ giúp tức thì từ các chuyên gia lưu trữ WordPress, 24/7.
- Tích hợp Cloudflare Enterprise.
- Tiếp cận khán giả toàn cầu với 34 trung tâm dữ liệu trên toàn thế giới.
- Tối ưu hóa với Giám sát Hiệu suất Ứng dụng được tích hợp sẵn của chúng tôi.
Tất cả những điều đó và hơn thế nữa, trong một kế hoạch không có hợp đồng dài hạn, hỗ trợ di chuyển và đảm bảo hoàn tiền trong 30 ngày. Kiểm tra các kế hoạch của chúng tôi hoặc nói chuyện với bộ phận bán hàng để tìm ra kế hoạch phù hợp với bạn.