Ở bài trước chúng ta đã tìm hiểu một số khái niệm cơ bản về route, ở bài này mình sẽ giới thiệu tiếp với mọi người các tính năng khác liên quan đến route
Các route group cho phép chia sẽ các thuộc tính chung, các filter, các namespace của url, …
Middleware Route
Route::middleware(['first', 'second'])->group(function () {
Route::get('/', function () {
//
});
Route::get('/user/profile', function () {
//
});
});
Subdomain Route
Khi bạn muốn sử dụng route cho subdomain. tuy nhiên bạn cần thiết lập subdomain trên webserver trước
Route::domain('{account}.example.com')->group(function () {
Route::get('user/{id}', function ($account, $id) {
//
});
});
Route prefix
Khi bạn muốn nhóm các route có tiền tố giống nhau
Route::prefix('admin')->group(function () {
Route::get('/users', function () {
// Matches The "/admin/users" URL
});
});
Laravel tự động resolve eloquent model được định nghĩa route hoặc function trong controller có tên biến khớp với tên bộ phần route.
use App\Models\User;
Route::get('/users/{user}', function (User $user) {
return $user->email;
});
Ví dụ với controller
use App\Http\Controllers\UserController;
use App\Models\User;
// Route definition...
Route::get('/users/{user}', [UserController::class, 'show']);
// Controller method definition...
public function show(User $user)
{
return view('user.profile', ['user' => $user]);
}
Route::resource() là một chức năng giúp chúng ta xây dựng RESTful (websevice) một cách nhanh chóng.
use App\Http\Controllers\PhotoController;
Route::resource('photos', PhotoController::class);
Các method, URI sẽ được tạo ra như sau:
Verb | URI | Route Name |
GET | /photos | photos.index |
GET | /photos/create | photos.create |
POST | /photos | photos.store |
GET | /photos/{photo} | photos.show |
GET | /photos/{photo}/edit | photos.edit |
PUT/PATCH | /photos/{photo} | photos.update |
DELETE | /photos/{photo} | photos.destroy |
Resource route được kết hợp với RESTfull Controller tương ứng sẽ được học ở bài sau
Lời kết
Qua 2 phần chia sẽ về route hẳn các bạn đã nắm được phần nào triển khai Route trong laravel. Phần sau chúng ta sẽ tìm hiểu về View và Blade template trong Laravel.
YOU MIGHT ALSO LIKE
Wonderful blog! I found it while searching on Yahoo News. Do you have any suggestions on how to get listed in Yahoo News? I’ve been trying for a while but I never seem to get there! Thank you
Howdy this is somewhat of off topic but I was wanting to know if blogs use WYSIWYG editors or if you have to manually code with HTML. I’m starting a blog soon but have no coding skills so I wanted to get guidance from someone with experience. Any help would be enormously appreciated!