Route trong Laravel

Nếu bạn đã từng tìm hiểu về web framework thì chắc chắc Route chảng có gì là xa lạ. Trong bài học Laravel này chúng mình sẽ trình bày cho các bạn một trong những khái niệm quan trọng trong Laravel đó là Route trong Laravel. Cùng theo dõi bài viết nhé các bạn.

1. Route trong laravel là gì?

Route dịch ra có nghĩa là tuyến đường và trong Laravel route nó nằm vai trò giống như người chỉ đường cho yêu cầu (request) đi đến đâu. Chúng ta có thể hiểu nôm na như sau: khi index.php nhận được request từ người dùng, nó sẽ đưa request này cho route, sau đó route sẽ chỉ dẫn tiếp cho request này đi đến đâu hoặc cũng có thể trả lời ngay tại route.

Ví dụ khi người dùng truy cập vào website với đường dẫn là hoc.tv/laravel, thì lúc này Route sẽ nhận được một phần trong URL là /laravel và nó sẽ xử lý request đó gọi đến điều khiển hoặc thao tác nào mà coder lựa chọn. Không giống các Framework PHP trước đây trong Laravel Route có rất nhiều loại Route khác nhau như Route dành cho phương thức POST, Route dành cho phương thức GET ở cùng một URL v.v..

Tóm lại bạn có thể hiểu cơ bản rằng route trong laravel có nhiệm vụ định hướng request của laravel.

Hầu hết các route của laravel định nghĩa trong file app/routes.php. Và dưới đây là danh sách các loại Route bao gồm các loại cơ bản và thường được sử dụng :

  • Route::get  :Phương thức GET
  • Route::post :Phương thức POST
  • Route::match :Kết hợp hiều phương phức
  • Route::any :Nhận tất cả các phương thức
  • Route::filter :Tạo ra bộ lọc nhằm mục đích nào đó, ví dụ tạo bộ lọc kiểm tra đã đăng nhập hay chưa
  • Route::group : Gom các route lại với nhau thành một nhóm
  • Route::controller :Gọi đến controller tương ứng
  • Route::resource :Sử dụng với resource controller

2. Cách sử dụng route trong laravel

Chú ý: Tất cả các đoạn code dành cho Route đều nằm trong file app/routes.php nên những ví dụ dưới đây chúng ta đều thêm trong file này nhé.

2.1 Sử dụng Route::get() trong laravel

Route này sẽ tiếp nhận các request với phương thức GET, cách sử dụng route này khá đơn giản:

Cú Pháp: 

Route::get($url, $action);

Trong đó: 

  • $url là đường dẫn của route
  • $action là các hành động thực hiện trong router đó.

Ví Dụ:

Ví dụ mình muốn khi người dùng vào http://localhost:8000/welcome

 (ở đây server ảo của mình là localhost:8000) thì sẽ cho in ra chữ "Chào mừng các bạn đã đến với hoc.tv" thì mình sẽ định route như sau.

Route::get('/welcome', function () {
    return 'Chào mừng các bạn đã đến với hoc.tv';
});

Để có thể truy cập route trên, từ trình duyệt ta gõ đường dẫn: http://localhost:8000/welcome

Kết quả như sau:

2.2 Route::post

Tương tự Router get Route post nhận phương thức POST.

Cú Pháp:

Route::post($url, $action);

Trong đó: 

  • $url là đường dẫn của route
  • $action là các hành động thực hiện trong router đó.

2.3 Route::match

Nếu bạn chỉ muốn sử dụng 2 hai phương thức GET,POST mà không muốn dùng các phương thức PUT,PATCH,DELE thì Laravel cung cấp cho chúng ta 1 Route khác đó là match route.

Cú Pháp:

Route::match('phuong thuc', 'url', 'action');

Trong đó:

  • Phương thức: có thể là một mảng POST,GET,...  vd: ['POST','GET']
  • $url là đường dẫn của route
  • $action là các hành động thực hiện trong router đó.

2.4 Route::any

Route này nhận request với tất cả các method như: POST, GET, DELETE, ...

Cú pháp:

Route::any($url, $action);

Còn cách sử dụng tương tự Route::get() cho mấy.

3. Lời Kết.

Vậy là chúng ta đã tìm hiểu xong 4 loại Route trong Laravel rồi đấy, các route khác chúng mình sẽ trình bày ở bài sau các bạn nhé!

Bình luận