Route::resource() trong laravel là gì?

Trang chủ / Laravel / Route::resource() trong laravel là gì?

289 views

Route::resource() trong laravel là gì?

-Cú Pháp:

Route::resource('url', 'tencontroller', 'tuybien');

Trong đó:

  • Url: thì cũng như các route khác là đường dẫn của route.
  • tencontroller: là tên của controller (không đi kèm đuôi .php).
  • tuybien: là các tùy biến phương thức được sử dụng trong Route, Tham số này có thể bỏ qua nếu không cần thiết.

-Chú ý: Để sử dụng được Route::resource() thì các bạn cần phải tạo ra một RESTful Controller. -Để tạo Một RESTful Controller chúng ta có hai các tạo:

  • Cách 1: Là tạo bằng tay và viết code cũng bằng tay.
  • Cách 2: Dùng lệnh mà laravel cung cấp sẵn cho chúng ta. Các bạn mở commanline lên và trỏ đến thư mục chứa project Laravel (VD của tôi là lar-53) và gõ lệnh.
    php artisan make:controller tencontroller --resource
    Trong đó tencontroller là tên của các bạn muốn tạo.

VD: Tôi có một route.

Route::resource('photo', 'PhotoController');

-Thì phương thức cũng như kiểu request của nó sẽ như sau.

Verb Path Action Route Name
GET /photo index photo.index
GET /photo/create create photo.create
POST /photo store photo.store
GET /photo/{photo} show photo.show
GET /photo/{photo}/edit edit photo.edit
PUT/PATCH /photo/{photo} update photo.update
DELETE /photo/{photo} destroy photo.destroy

-Trong đó:{photo} là các tham số id của photo (xem truyền tham số trong route).

-Tùy biến:

-Qua phần trên có bạn nào thắc mắc là : "chẵng lẽ RESTful Controller nào cũng phải đáp ứng đủ các action như trên Nếu không đủ thì không dùng được à" ->Vấn đề này các bạn khỏi lo nhé, vì Laravel  đang đứng top 1 về số lượng developer sử dụng nó, nên trong Laravel đã cung cấp cho chúng ta lọc action trong Route::resource(). +Lọc các phương thức được sử dụng trong RESTful :

Route::resource('urlroute', 'homeindex',['only' => ['index', 'create', 'show', 'edit']]);

Chú thích: Ở trên là đoạn code chỉ cho sử dụng các action được khai báo còn lại sẽ không được sử dụng +Lọc các phương thức không được sử dụng trong RESTful:

Route::resource('duongdan', 'homeindex', ['except'=>['index']]);

Chú thích: Cấm không cho sử dụng action index còn lại được sử dụng hết. +Truyền nhiều tham số trong action.

Route::resource('anh.author', 'homeindex');

Khi đó bên action show của controller sẽ có dạng như sau:

public function show($id,$author)
{
    // code
}

Để sử dụng các bạn chạy đường dẫn:

anh/{id}/author/{author}
// vd anh/1/author/tai

Chia sẻ với bạn bè của bạn!




© 2017 TEDU LEARNING AND ENTERTAINMENT

NGUYEN MINH HOANG  

01 LE LOI ST, WARD 1, MY THO CITY, TIEN GIANG PROVINCE
Email: minhhoangtgg@gmail.com | Mobile N0:
+84835.58.58.78

Website: https://tedu.edu.vn

Facebook: https://www.facebook.com/hoangminhisme

 

tedu footer