Rate this post

Chúng tôi cũng có thể gán middleware cho các tuyến của controller trong các tệp Route.

Các bài viết liên quan:

Có nhiều cách khác nhau để gán middleware cho controller:

Gán middleware cho controller trong tệp web.php.

Chúng ta có thể gán middleware cho controller trong tệp web.php. Sau đây là các bước cần thiết để gán middleware:

Bước 1: Đầu tiên, chúng ta tạo một controller, chúng ta đã tạo controller có tên là PostController trong chủ đề trước.

Bước 2: Bây giờ, chúng ta tạo middleware, mà chúng ta muốn gán cho PostController. Chúng ta sử dụng lệnh sau để tạo middleware:

php artisan make:middleware Check  

Lệnh trên tạo middleware có tên là Check.

Bước 3: Mở tệp Check.php được tạo trong thư mục laravelproject / app / http / Middleware.

Bước 4: Bây giờ, chúng ta phải thêm đường dẫn của middleware Check.php trong tệp kernel.php.

Trong đoạn mã trên, câu lệnh được đánh dấu sẽ thêm đường dẫn của middleware, tức là Kiểm tra.

Bước 5: Thêm đoạn mã sau vào tệp web.php để gán middleware cho PostController.

Đoạn mã trên chỉ định middleware, tức là kiểm tra PostController.

Bước 6: Nhập URL http: // localhost / laravelproject / public / posts vào trình duyệt web, sau đó đầu ra sẽ là:

Sử dụng hàm tạo controller

Chúng ta cũng có thể sử dụng hàm tạo controller để gán middleware. Điều này thuận tiện hơn vì nó hạn chế middleware chỉ với các phương thức cụ thể trên lớp controller.

Sau đây là các bước cần thiết để gán middleware bằng cách sử dụng hàm tạo controller:

Làm theo các bước từ bước 1 đến bước 4 của trường hợp trước.

Thêm mã sau vào tệp web.php:

Mở tệp PostController.php.

Nếu chúng ta muốn gán middleware cho phương thức show() của PostController; thì chúng ta cần thêm đoạn mã dưới đây vào tệp PostController.php.

Đoạn mã trên chỉ định middleware để chỉ phương thức show ().

Sau khi thêm đoạn mã trên vào PostController, cấu trúc của postController sẽ như sau:

Nếu chúng tôi truy cập URL http: // localhost / laravelproject / public / posts, thì đầu ra sẽ là:

Kết quả trên cho thấy rằng khi chúng ta truy cập vào phương thức create (), tập tin middleware Check.php (middleware) sẽ không được thực thi.

Nếu chúng tôi thay đổi mã của tệp web.php và mã là:

Trong trường hợp trên, chúng tôi đang truy cập phương thức show () của tệp PostController.php, vì vậy nó cũng đang thực thi tệp Check.php (middleware).

Đóng gói middleware

controller cũng cho phép bạn đăng ký các tuyến bằng cách sử dụng middleware. Nó cho phép ứng dụng xác định middleware cho một controller duy nhất mà không cần xác định riêng lớp middleware.

Cú pháp của Middleware Closure

Leave a Reply

Call now
%d bloggers like this: