Laravel 11 Có Gì Mới: Các Tính Năng Và Bản Cập Nhật Mới

Laravel 11 đã chính thức ra mắt và mang đến cho cộng đồng lập trình viên một bước tiến mạnh mẽ với rất nhiều cải tiến và tính năng mới. Hãy cùng hoclaravel.vn tìm hiểu xem phiên bản này có gì đặc biệt và làm thế nào nó có thể thay đổi cách bạn phát triển ứng dụng.

Cấu Trúc Ứng Dụng Gọn Nhẹ Hơn

Một trong những thay đổi đáng kể ở Laravel 11 chính là việc tối ưu hóa cấu trúc ứng dụng. Laravel đã giới thiệu một cách tiếp cận mới nhằm làm sạch và tinh gọn mã nguồn của bạn. Điều này giúp lập trình viên dễ dàng hơn trong việc tổ chức dự án và quản lý mã nguồn.

Cải Tiến Trong Tệp bootstrap/app.php

Một điểm nhấn nổi bật trong Laravel 11 là tệp bootstrap/app.php hoàn toàn mới. Từ đây, bạn có thể dễ dàng cấu hình định hướng ứng dụng, middleware, các service provider, và xử lý ngoại lệ – tất cả đều từ một vị trí duy nhất, giúp giảm bớt sự phức tạp trong việc quản lý các thành phần của ứng dụng.

READ  Laravel Zero Là Gì?

Giản Lược Các Service Providers

Laravel 11 đã hướng tới việc đơn giản hóa cấu trúc bằng cách giảm bớt số lượng service providers. Giờ đây, bạn chỉ cần sử dụng một AppServiceProvider duy nhất. Sự thay đổi này không chỉ giúp mã nguồn trở nên ngăn nắp hơn mà còn tối ưu hóa khả năng bảo trì và phát triển dự án.

Laravel 11: A Leap Forward for Web Artisans - Peanut Square

Tùy Chọn Định Tuyến API và Broadcast

Nhận ra rằng không phải ứng dụng nào cũng cần tính năng API hoặc broadcast ngay từ khởi đầu, Laravel 11 cho phép lập trình viên tùy chọn việc thêm các tệp định tuyến api.phpchannels.php. Chỉ cần một lệnh Artisan đơn giản, bạn có thể thêm chúng vào ứng dụng của mình khi cần.

php artisan install:api
php artisan install:broadcasting

Middleware Mặc Định Được Tinh Chỉnh

Middleware mặc định đã được chuyển vào trong framework, mang đến cho bạn một cấu trúc ứng dụng sạch sẽ. Bằng cách này, bạn có thể dễ dàng tùy chỉnh hành vi của middleware thông qua tệp bootstrap/app.php.

->withMiddleware(function (Middleware $middleware) {
    $middleware->redirectGuestsTo('/admin/login');
})

Xử Lý Ngoại Lệ Tinh Gọn

Cách mà Laravel 11 xử lý ngoại lệ cũng được cải tiến. Giờ đây, bạn có thể quản lý ngoại lệ trong tệp bootstrap/app.php, giúp giảm thiểu việc tìm kiếm qua nhiều tệp tin khác nhau.

Đoạn mã dưới đây sẽ cho phép bạn thực hiện các cấu hình ngoại lệ dễ dàng hơn.

->withExceptions(function (Exceptions $exceptions) {
    $exceptions->dontReport(MissedFlightException::class);
 
    $exceptions->reportable(function (InvalidOrderException $e) {
        // xử lý ngoại lệ
    });
})

Lập Lịch Công Việc Đơn Giản

Chức năng lập lịch công việc trong Laravel 11 giờ đây trở nên đơn giản hơn bao giờ hết. Bạn chỉ cần thêm một số dòng mã vào tệp routes/console.php nhờ vào facade mới Schedule.

use Illuminate\Support\Facades\Schedule;

Schedule::command('some-service:sync')->daily();

Bạn không còn cần phải điều chỉnh kernel console nữa, điều này thực sự tiết kiệm thời gian và công sức.

READ  Hướng Dẫn Sử Dụng Docker-Compose Trong Dự Án Laravel

Lớp Controller Được Cải Tiến

Lớp controller trong Laravel 11 đã được tối giản hóa. Mặc dù các traits như AuthorizesRequestsValidatesRequests vẫn tồn tại, bạn sẽ cần phải thêm chúng khi sử dụng.

namespace App\Http\Controllers;

use Illuminate\Foundation\Auth\Access\AuthorizesRequests;

abstract class Controller
{
    use AuthorizesRequests;
}

Laravel 11 Có gì mới ?

Route Kiểm Tra Tình Trạng Ứng Dụng

Laravel 11 bổ sung một route mới giúp kiểm tra tình trạng ứng dụng (health-check). Điều này cho phép bạn thực hiện các kiểm tra khác nhau để đảm bảo mọi phần của ứng dụng đều hoạt động trơn tru.

->withRouting(
    web: __DIR__.'/../routes/web.php',
    commands: __DIR__.'/../routes/console.php',
    health: '/up',
)

Khi route này được truy cập, sự kiện Illuminate\Foundation\Events\DiagnosingHealth sẽ được phát đi, tạo điều kiện cho các tác vụ kiểm tra dễ dàng hơn.

Giới Hạn Truy Cập Linh Hoạt

Laravel 11 cho phép bạn thiết lập giới hạn truy cập theo giây. Đây là một cải tiến rất hữu ích, đặc biệt trong các ứng dụng cần kiểm soát lưu lượng truy cập.

RateLimiter::for('invoices', function (Request $request) {
    return Limit::perSecond(2);
});

Cải tiến này giúp bạn kiểm soát chính xác hơn, bảo vệ ứng dụng khỏi những yêu cầu quá tải không đáng có.

Phương Thức Mới Model::casts()

Trong Laravel 11, bạn có thể xác định việc chuyển đổi thuộc tính thông qua phương thức casts() trong model của mình, cho phép bạn sử dụng các phương thức tĩnh với tham số.

class User extends Model
{
    protected function casts() : array
    {
        return [
            'foo' => AsCollection::using(FooCollection::class),
        ];
    }
}

Phương thức này sẽ được ưu tiên hơn thuộc tính $casts, mang đến cho lập trình viên nhiều lựa chọn hơn trong việc quản lý dữ liệu.

READ  Console Command Trong Laravel: Khái Niệm & Cách Sử Dụng

Trait Mới: Dumpable

Trait mới được giới thiệu trong Laravel 11 tên là Dumpable, cho phép các nhà phát triển dễ dàng thêm các phương thức gỡ lỗi vào các lớp của họ bằng cách sử dụng trait này. Điều này rất hữu ích trong quá trình phát triển và kiểm tra mã.

$address->foo()->dd()->bar();

Ngừng Hỗ Trợ PHP 8.1

Laravel 11 đã chính thức ngừng hỗ trợ cho phiên bản PHP 8.1, để tập trung vào các tính năng mới và cải tiến hiệu suất của các phiên bản PHP mới hơn như 8.2 và 8.3. Điều này có thể đem lại cho bạn những cải tiến đáng kể trong quá trình phát triển ứng dụng.

Kết Luận

Laravel 11 không chỉ mang đến một phiên bản mới mà còn là một bước tiến lớn trong việc nâng cao trải nghiệm phát triển cho lập trình viên. Với các cải tiến trong cấu trúc ứng dụng, xử lý middleware, và tính năng kiểm tra tình trạng ứng dụng, Laravel 11 sẽ giúp lập trình viên sáng tạo nên những ứng dụng mạnh mẽ và dễ bảo trì hơn. Hãy nhanh chóng cập nhật và trải nghiệm những điều tuyệt vời mà phiên bản này mang lại!

Để lại một bình luận

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *