Một trong những mẹo yêu thích nhất của tác giả trong bài này chính là tính nhất quán mà resource mang lại trong router. Có rất nhiều cách sắp xếp và ý tưởng khác nhau trong từng phong cách code của mỗi người, nhưng thật tuyệt vời khi có một sự nhất quán giống nhau trong router và trong mỗi ứng dụng của các bạn.
resource
Trong bài viết này chúng ta sẽ tập trung vào những lợi ích mang lại của việc sử dụng Route::resouce trong tập tin routes.php của bạn.
Route::resouce
routes.php
Lợi ích của việc sử dụng helper này là việc bạn đang áp dụng các quy ước chung của Laravel cho việc điều khiển các resource đến Controller mong muốn. Không còn Controller với 20 hàm chức năng tùy chọn. Điều này có nghĩa là bạn có được sự nhất quán trong ít nhất 2 cấp ứng dụng của bạn: routes và controllers. Nếu bạn đang sử dụng Policies thì sự nhất quán này xảy ra ở 3 cấp độ.
Controller
routes
controllers
Policies
Tiếp theo, việc sử dụng helper resource sẽ giúp bạn giảm đáng kể kích thước của tệp tin routes.php của bạn. Khi dự án của bạn phát triển trong tương lai, tập tin routes.php của bạn sẽ “nở” và vượt khỏi sự kiểm soát của bạn. Phương pháp này sẽ tập hợp 7 route nhỏ riêng biệt lại thành một dòng đơn giản:
Route::resource('users', UsersController::class);
Cuối cùng, helper này rất dễ thay đổi khi cần thiết. Đôi lúc chúng ta không cần tất cả các chức năng, ví dụ, có khi bạn không cho phép chức năng xóa chẳng hạn:
Route::resource('users', UsersController::class)->except(['destroy']);
Hoặc, bạn chỉ cần duy nhất thuộc tính chỉ đọc cho resource:
Route::resource('users', UsersController::class)->only(['index', 'show']);
Đến đây thì mẹo thứ tư đã kết thúc, rất cảm ơn bạn đã chịu khó đọc đến đây, nếu có chỗ nào khó hiểu, bạn có thể để lại bình luận, mình sẽ trả lời lại cho các bạn trong sự hiểu biết của mình nhé. Hẹn gặp lại bạn trong mẹo tiếp theo.