Tìm thấy x bài viết trong xms.

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 vendor\laravel\framework\src\Illuminate\Routing\Router.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' => ''
]);

Đánh giá bài viết

Thích thì like
Laravel 5.5 định nghĩa multiple resource
5/5 1 votes

Bình luận

Hiển thị bình luận Facebook