Route trong Laravel P1 |Kiến thức Laravel cơ bản

Ở bài trước chúng ta đã tìm hiểu về cấu trúc thư mục trong Laravel rồi. Ở bài này chúng ta sẽ tìm hiểu tiếp về Route trong Laravel.Vì kiến thức phần này khá dài,nên mình chia ra làm 3 phần cho mọi người dễ tìm hiểu nhé! Dưới đây là bài viết về Route trong Laravel P1.Cùng Telsky tìm hiểu thôi nào!

route trong laravel p1

Nếu như khi mình làm một project bằng PHP thuần thì chúng ta sẽ sử file htaccess dùng để cấu hình máy chủ apache , tức là khi người dùng đánh đường dẫn trên browser thì đường dẫn đó sẽ map trong file htaccess để điều hướng đến các page của trang web. Nhưng trong Laravel thì Route sẽ thực hiện điều đó.

Route trong Larvel cũng như các framework khác  đều có chức năng là định ra các dạng resquest(hiểu nôm na là url) định sẵn và cũng có các action( hành động) do chúng ta định nghĩa cho nó . Hơi khó hiểu đúng không các bạn? Mình sẽ trình bày ví dụ cụ thể ở dưới cho mọi người dễ hiểu.

2.Các Loại Route trong Larvel.

Laravel là một framework hỗ trợ chúng ta rất đa dạng về route, và cũng rất dễ sử dụng. Nó gồm có các loại như sau:

route trong laravel p1route trong laravel

  • Route::get nhận resquest với phương thức GET.
  • Route::post nhận resquest với phương thức POST.
  • Route::put nhận resquest với phương thức PUT.
  • Route::delete nhận resquest với phương thức DELETE.
  • Route::match kết hợp nhiều phương phức như POST,GET,PUT,..
  • Route::any nhận tất cả các phương thức.
  • Route::group tạo ra các nhóm route.
  • Route::controller gọi đến controller tương ứng mà chúng ta tự định.
  • Route::resource sử dụng với resource controller.

3.Sử dụng route trong Laravel.

Để làm việc với routing ta sẽ tương tác các file trong thư mục routes, đặc biệt là web.php. Các file route này sẽ tự động load bởi framework.

3.1 Route::get

Đây là route sẽ tiếp nhận các request với phương thức GET.

Ta thực hiện theo cú pháp sau:

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ụ mình muốn khi người dùng vào http://localhost/telsky (ở đây server ảo của mình là localhost)
thì sẽ cho in ra chữ “Chào mừng các bạn đã đến với TELSKY” thì mình sẽ định route như sau:

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

route trong laravel p1ví dụ minh họa

3.2 Route::post

Đối với loại route này thì nó không khác gì với Route::get() ngoài : Route::get() nhận phương phương thức GET còn Route::post() nhận phương thức POST.

Cú pháp thực hiện như sau:

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

3.3 Route::match

Nếu muốn sử dụng hai phương thức GET,POST mà không muốn dùng phương thức PUT,PATCH,DELE,… thì chúng ta phải làm sao nhỉ? .Nhận thấy điều đó nên Laravel đã cho chúng ta thêm một route nữa là match route.

Cú pháp của route::match như sau:

Route::match('phuong thuc', 'url', 'action');
  • Phương thức: ở đây có thể là một mảng POST,GET,…  vd: [‘POST’,’GET’]
  • url: thì không khác gì như phương thức Route::get.
  • action: cũng không khác gì phương thức Route::get.

3.4 Route::any

Sử dụng một số phương thức trong route thì dùng Route::any() rồi, còn nếu như muốn dùng tất cả các phương thức thì chẳng lẽ chúng ta cứ phải viết đi viết lại 1 url với từng phương thức sao?
Cũng vì điều này mà Laravel đã cung cấp cho chúng ta Route::any().

Route::any có cú pháp như sau:

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

Còn cách sử dụng thì không khác gì phương thức Route::get() là mấy.

4.Tổng kết

Vừa rồi thì mình cùng với các bạn tìm hiểu những cái cơ bản nhất về route, nó có thể giúp các bạn mường tượng cách sử dụng route như thế nào, còn những route put,delete thì cũng tương tự như Route::get nhé.

Bài sau mình sẽ cùng tìm hiểu về Route::group() và Route::controller().. Mình xin kết thúc bài viết ở đây, mọi thắc mắc gì hãy comment phía dưới bài viết cho mình nhé !!