Route trong Laravel (Cơ bản) – Bài 2

bởi Con Heo Không Mập
0 bình luận

Route (hay Định Tuyến) là một phần rất quan trọng khi làm việc với framework. Tuy nhiên, Route lại là một phần rất đơn giản và dễ hiểu. Trong bài này chúng ta hãy cùng đi tìm hiểu Route trong Laravel nhé!

Khái niệm cơ bản về Route trong Laravel

Như bạn đã thấy, khi mình bật project của mình lên với url http://freshapi.local thì Laravel sẽ hiển thị 1 cái giao diện basic. Vậy thì chúng ta cùng tìm hiểu cụ thể nhé!

Hãy mở folder laravel của bạn trong trình code, bạn sẽ thấy có một folder tên là routes và bên trong folder này có 4 file: api.php, channels.php, console.php, web.php. Hiện tại, chúng ta chỉ cần quan tâm đến web.php

Folder route laravel

Trong file này, bạn sẽ thấy một đoạn code:

Như vậy, hiện tại bạn có thể hiểu được, khi users truy cập vào trang chủ (dấu ‘/’ tương đương cho trang chủ), thì laravel sẽ gọi 1 cái hàm, và hàm này sẽ trả về 1 hàm nữa có tên là view(). Bên trong hàm view() sẽ có 1 chuỗi là ‘welcome’.

Vậy thì cơ bản, Route là gì? Route, hay tiếng Việt mình gọi là Định Tuyến, hay bạn có thể hình dung Route như là chỉ đường đi cho trình duyệt. Khi tạo 1 Route, bạn có thể hiểu là bạn đang chỉ đường cho trình duyệt để nó có thể trả ra kết quả.

Và trong Laravel, quá trình này có thể diễn giải như sau: Bạn đăng ký 1 route với 1 url bất kỳ nào đó và đi kèm với 1 phương thức và 1 chức năng ràng buộc với cái url đó. Giả sử, bạn ràng buộc url của Trang Chủ với phương thức GET cùng với 1 hàm với nhiệm vụ là trả ra dòng chữ “Đây là trang chủ”, thì cứ mỗi lần thằng trình duyệt gọi tới URL của Trang Chủ, dòng chữ “”Đây là trang chủ” sẽ được trả ra.

Để có thể dễ hình dung, hãy thử tạo 1 route nữa, bạn hãy copy đoạn code sau:

Rồi hãy vào trình duyệt và gõ: freshapi.local/con-heo, bạn sẽ thấy:

Dễ hiểu hơn chứ hả? 😀 Ngoài ra thì function này hoàn toàn có thể trả ra định dạng JSON cũng được. Hãy thử đổi đoạn code trên thành:

Và khi reload lại trang, kết quả bạn nhận được sẽ là:

Vậy thì quay lại với Route ‘/’ nhé: Khi một người dùng gõ vào trang chủ, nó sẽ trả về 1 cái hàm có tên là view(). Hàm này có nhiệm vụ là sẽ tìm tới resouces/views và render ra file có tên welcome. Hãy thử tìm trong resouces và tìm trong views, bạn sẽ thấy:

Để chắc chắn rằng mọi thứ đúng, hãy bật file welcome.blade.php lên, bạn sẽ thấy một structure “khá là giống” HTML CSS. Hãy kéo xuống dưới cùng và sửa đoạn

Sang:

Và reload lại homepage, bạn sẽ có kết quả:

Vậy là dễ hiểu hơn chưa nè?! 😀

Trả về một view

Như ví dụ trên thì chúng ta đã hiểu được cách mà Route trong Laravel hoạt động cơ bản là như nào. Vậy thì giờ chúng ta thử tạo một view khác xem sao. Mình sẽ đăng ký thêm 1 Route:

Và hãy vào trong folder resources/view, tạo thêm 1 trang có tên là: about.blade.php. Tại sao lại là about.blade.php mà không phải là about.php? Mình sẽ giải thích ngắn gọn cho bạn hiểu, Laravel sử dụng 1 engine có tên là Blade Engine để render HTML ra trình duyệt, và engine này có đuôi là .blade.php.

Vậy thì thằng này có gì hay ho? Cái này mình sẽ giải thích sau. Giờ hãy quay lại với file about.blade.php, thêm 1 thẻ H2 với nội dung:

Khi bạn gõ http://freshapi.local/gioi-thieu, bạn sẽ nhận được kết quả:

Vậy là đã xong phần Route trong Laravel một cách cơ bản, trong bài sau chúng ta sẽ tìm hiểu sâu hơn về Route nâng cao nhé!

(Visited 21 times, 1 visits today)
5 1 vote
Article Rating
Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x