Laravel 5.5 định nghĩa multiple resource
Kể từ phiên bản Laravel 5.5 đã bổ sung thêm một tính năng mới đó là định nghĩa multiple resource nhưng chắc ít bạn biết đến nè. Trước đây với việc định nghĩa nhiều resource routes bạn sẽ phải làm thế này Route::resource('books', 'BooksController'); Route::resource('genres', ...
Kể từ phiên bản Laravel 5.5 đã bổ sung thêm một tính năng mới đó là định nghĩa multiple resource nhưng chắc ít bạn biết đến nè.
Trước đây với việc định nghĩa nhiều resource routes bạn sẽ phải làm thế này
Route::resource('books', 'BooksController'); Route::resource('genres', 'GenresController'); Route::resource('authors', 'AuthorsController');
Thì giờ đây bạn chỉ việc nhóm chúng lại với nhau để dễ quản lý như dưới đây
Route::resources([ 'books' => 'BookController', 'genres' => 'GenreController', 'authors' => 'AuthorController', ]);
Với việc bổ sung thêm function resources() trong file vendorlaravelframeworksrcIlluminateRoutingRouter.php. Kèm theo đó là thêm tùy chọn chọn cho mỗi resource route trong phiên bản Laravel 5.7 này.
/** * Register an array of resource controllers. * * @param array $resources * @param array $options * @return void */ public function resources(array $resources, array $options = []) { foreach ($resources as $name => $controller) { $this->resource($name, $controller, $options); } }
Ví dụ kèm thêm options cho multiple resource
Route::resources([ 'books' => 'BookController', 'genres' => 'GenreController', 'authors' => 'AuthorController', ], [ 'only' => [], 'except' => [], 'name' => ' ]);