Bộ điều khiển tài nguyên của Laravel cung cấp các tuyến CRUD cho bộ điều khiển trong một dòng mã. Bộ điều khiển tài nguyên được sử dụng để tạo bộ điều khiển xử lý tất cả các yêu cầu http được ứng dụng của bạn lưu trữ
resource[] là một hàm tĩnh giống như phương thức get[] cho phép truy cập vào nhiều route mà chúng ta có thể sử dụng trong bộ điều khiển
Cú pháp của phương thức resource[]
Tuyến đường. resource['bài đăng','PostController'];
Trong cú pháp trên, 'posts' chứa tất cả các route và 'PostController' là tên của bộ điều khiển. Trong trường hợp này, chúng ta không cần chỉ định tên phương thức như @index như đã làm trong phương thức get[] vì các phương thức create[], store[], destroy[] đã có sẵn trong lớp PostController
Hãy hiểu thông qua một ví dụ
Bước 1. Tạo bộ điều khiển bằng cách sử dụng lệnh dưới đây
Lệnh trên sẽ tạo Controller tại app/Http/Controllers/PostController. thư mục php. Lớp PostController chứa các phương thức cho từng thao tác tài nguyên
Cấu trúc của PostController. tập tin php được đưa ra dưới đây
Bước 2. Bây giờ, chúng ta cần đăng ký tuyến tháo vát tới Bộ điều khiển và có thể thực hiện như sau
Mở Cửa sổ Git Bash và nhập lệnh php artisan route. danh sách. Lệnh này tạo ra đầu ra sau
Tham số post trong phương thức resource[] tạo tên hoặc tài nguyên được hiển thị trong đầu ra ở trên và các phương thức tương ứng của nó. Trong đầu ra trên, các bài viết. hủy đang gửi một tham số cho phương thức Xóa, điều này rất đặc biệt trong Laravel
Hãy hiểu khái niệm về tài nguyên thông qua một ví dụ
Truy cập phương thức show[] của lớp PostController
Giả sử chúng ta muốn gọi phương thức show[] của PostController. tập tin php. Để làm như vậy, hãy thêm mã trong phương thức show[]. Tôi đã thêm đoạn mã sau vào phương thức show[]
Như chúng ta biết rằng URI của bài viết. show là posts/{posts}, nghĩa là chúng ta cũng cần nhập tham số để truy cập phương thức show[] của lớp PostController
Giả sử tôi đã nhập URL là 'localhost/laravelproject/public/posts/58', thì kết quả sẽ là
Truy cập phương thức create[] của lớp PostController
Bước 1. Đầu tiên, chúng ta cần thêm mã trong phương thức create[]. Tôi đã thêm đoạn mã sau
Như chúng ta biết rằng URI của bài viết. tạo là bài đăng/tạo, vì vậy URL để truy cập phương thức tạo [] sẽ là 'localhost/laravel project/public/posts/create'
Bước 2. Nhập URL 'localhost/laravel project/public/posts/create' vào trình duyệt, sau đó kết quả sẽ là
Đăng ký tuyến đường cho nhiều bộ điều khiển
Chúng ta có thể đăng ký các tuyến đường cho nhiều bộ điều khiển bằng cách chuyển một mảng tới phương thức resource[]. Giả sử tôi muốn đăng ký route cho 2 controller, chẳng hạn như PostController và StudentController. Sau đây là các bước để đạt được điều này
Bước 1. Trước tiên, bạn cần tạo PostController và StudentController bằng cách sử dụng các lệnh sau
Bước 2. Thêm mã được cung cấp dưới đây vào web. tệp php để đăng ký tuyến đường
Bước 3. Nhập lệnh php artisan route. danh sách trên Git Bash Window
Màn hình trên cho thấy các route của cả PostController và StudentController đã được đăng ký
Định tuyến tài nguyên một phần
Khi chúng tôi không muốn đăng ký các tuyến đường cho tất cả các phương thức, thì chúng tôi có thể làm như vậy bằng cách chỉ xác định những chức năng mà bộ điều khiển có thể xử lý
Các bước để tạo các tuyến tài nguyên một phần
Bước 1. Đầu tiên, chúng ta tạo StudentController bằng cách sử dụng lệnh bên dưới
Bước 2. Bây giờ, chúng tôi thêm lệnh sau vào web. php để tạo các tuyến tài nguyên một phần
Bước 3. Để xác minh xem đoạn mã trên đã đăng ký các tuyến đường cho các phương thức được chỉ định hay chưa, hãy nhập lệnh 'php artisan route. danh sách' trên Cửa sổ Git Bash
Màn hình trên cho thấy các route cho các phương thức create[] và show[] đã được tạo
Đặt tên các tuyến tài nguyên
Tất cả các phương thức của bộ điều khiển đều có tên tuyến đường mặc định, nhưng Laravel cho phép bạn ghi đè tên tuyến đường bằng cách chuyển mảng tên. Mảng tên chứa tên của các tuyến đường mà bạn muốn chỉ định theo lựa chọn của mình
Hãy hiểu 'Định tuyến tài nguyên đặt tên' thông qua một ví dụ
- Chúng tôi có thể thêm đoạn mã dưới đây vào web. php để đặt tên cho các tuyến tài nguyên
- Bây giờ, nhập lệnh php artisan route. danh sách trên Git Bash Window
Màn hình trên cho thấy tên route của phương thức create[] đã được đổi tên thành student. bản dựng và tên mặc định của nó là sinh viên. tạo ra
Đặt tên tham số tuyến đường tài nguyên
Tuyến đường. Phương thức resource[] tự động tạo các tham số định tuyến cho tất cả các định tuyến tài nguyên, nhưng chúng ta có thể ghi đè các tham số định tuyến bằng cách sử dụng mảng tham số. Mảng tham số là một mảng kết hợp của tên tài nguyên và tham số tuyến đường