Pengontrol Sumber Daya RESTful
Sebuah tenang pengontrol sumber daya set up beberapa rute default untuk Anda dan bahkan nama-nama mereka.
Route::resource('users', 'UsersController');
Memberi Anda rute bernama ini:
Verb Path Action Route Name
GET /users index users.index
GET /users/create create users.create
POST /users store users.store
GET /users/{user} show users.show
GET /users/{user}/edit edit users.edit
PUT|PATCH /users/{user} update users.update
DELETE /users/{user} destroy users.destroy
Dan Anda akan mengatur pengontrol Anda seperti ini (tindakan = metode)
class UsersController extends BaseController {
public function index() {}
public function show($id) {}
public function store() {}
}
Anda juga dapat memilih tindakan apa yang disertakan atau dikecualikan seperti ini:
Route::resource('users', 'UsersController', [
'only' => ['index', 'show']
]);
Route::resource('monkeys', 'MonkeysController', [
'except' => ['edit', 'create']
]);
Dokumentasi RESTful Resource Controller
Pengontrol implisit
Sebuah kontroler implisit lebih fleksibel. Anda akan dialihkan ke metode pengontrol Anda berdasarkan jenis dan nama permintaan HTTP. Namun, Anda tidak memiliki nama rute yang ditentukan untuk Anda dan itu akan menangkap semua subfolder untuk rute yang sama.
Route::controller('users', 'UserController');
Akan mengarahkan Anda untuk menyiapkan pengontrol dengan semacam skema penamaan RESTful:
class UserController extends BaseController {
public function getIndex()
{
}
public function getShow($id)
{
}
public function postStore()
{
}
}
Dokumentasi Pengontrol Implisit
Ini adalah praktik yang baik untuk menggunakan apa yang Anda butuhkan, sesuai preferensi Anda. Saya pribadi tidak menyukai pengontrol implisit , karena dapat berantakan, tidak memberikan nama, dan dapat membingungkan saat digunakan php artisan routes
. Saya biasanya menggunakan pengontrol RESTful Resource dalam kombinasi dengan rute eksplisit.