Route Laravel là gì
Đăng bởi: Admin | Lượt xem: 2441 | Chuyên mục: Laravel Show
Nếu các bạn đã từng làm việc qua với các framework khác thì hẳn sẽ không còn xa lạ gì với khái niệm về Router phải không nào. Mục đích của router là định tuyến đến những controller cụ thể nào từ phía request của người sử dụng.Đối với những framework khác thì khi các bạn muốn thực hiện 1 công việc nào đó thường chúng ta cần xây dựng 1 controller để xử lý phải không nào,nhưng trong Laravel thì các bạn hoàn toàn có thể xử lý dữ liệu ngay trong phần Router.Đây chính là điểm mạnh cũng như điểm khác biệt lớn cảu Laravel Framework đối với các Framework khác .
Trong bài hôm nay mình sẽ giới thiệu cho các bạn các chủ đề về Router sau:
Nào bây giờ chúng ta sẽ đi tìm hiểu về từng phần nhé. Tìm hiểu về Route trong Laravel Framework1. Basic Routing – Những điều khiển căn bản– Các định tuyến trong Laravel đều được viết trong app/routes.php>.Cú pháp đơn giản nhất của 1 định tuyến đó chính là:
Trong đó thì Ví dụ Các bạn mở file app/routes.php và viết dòng code sau:
Tiếp theo truy cập trên link url với đường dẫn localhost/laravel_demo/san-pham (trong đó thì laravel_demo chính là thư mục dự án).Khi các bạn chạy đường link này lập tức trong Route sẽ kiểm tra và gọi đúng tới hàm callback.Sau khi chạy trang này các bạn sẽ nhận được thông báo như ý muốn.
Ví dụ:
Với ví dụ trên có nghĩa là khi chúng ta chạy link san-pham lúc này bộ điều hướng sẽ gọi tới Controller là ProductController và phương thức (action) list. 2. Route Parameters – Sử dụng tham số trong bộ định tuyến– Trong trường hợp các bạn muốn gửi kèm theo tham số cho bộ định tuyến thì chỉ cần khai báo theo dạng {tên tham số} và trong hàm callback chúng ta coi nó như tham số trong hàm bình thường
Tiếp theo các bạn truy câp vào link localhost/laravel_demo/san-pham/nokia520/1
Như vậy các bạn thấy với tham số đầu tiên là $name = nokia520 và $id = 1.
Với điều kiện trên chúng ta sẽ kiểm tra tên sản phẩm(name) sẽ là các ký tự thường từ a-z còn id sẽ là các số tự nhiên 3. Route Filters – Bộ lọc trong định tuyến– Đây chính là phần bộ lọc định tuyến,nó cho phép chúng ta có thể kiểm tra trước khi truy cập vào đường dẫn đó (URI).Ứng dụng trong thực tế là kiểm tra trạng thái đăng nhập trước khi cho phép truy cập vào 1 trang nào đó. – Filter chia ra 2 loại là before và after. + Before: Nghĩa là request trước khi tới routing + After: Nghĩa là request sau khi tới routing. Trên thực tế thì Before thường được sử dụng nhiều hơn. – Cú pháp cơ bản:
Ví dụ: trong Router ta có
Đoạn code trên mình xây dựng 1 Filter có tên là checkLogin đang thực hiện kiểm tra xem biến Session login có bằng = 1,ý định của mình ở đây là kiểm tra xem đã đăng nhập chưa.Nếu chưa đăng nhập thì lập tức chuyển về trang đăng nhập.
Với đoạn code trên mình đã thêm vào khóa before chỉ tới checkLogin. Chính là filter ta đã thiết lập trước đó, và đẩy nó sang controller ProductController với action là store dựa vào khóa uses.
+ Như các bạn thấy tham số thứ 3 $value chính là giá trị mà chúng ta sẽ truyền vào,ví dụ:
+ Như vậy khi các bạn chạy link check-id lúc này sẽ gọi tới Filter checkId để kiểm tra,và giá trị mình gửi sang bên Filter đó chính là -1 (checkId:-1). 4. Named Routes – Đặt tên cho bộ lọc định tuyến– Đặt tên cho các Route nhằm sử dụng linh hoạt cho ứng dụng.Dễ dàng lấy được thông tin của Route thông qua tên này.
+ as: là tên của route (product)
Sau khi chạy đoạn code trên chúng ta sẽ có $url = /san-pham/nokia520/1.
Và kết quả sẽ hiển thị ra
5. Route Groups – Nhóm bộ định tuyến– Route Groups sẽ giúp cho chúng ta có thể nhóm các Route mà cần thông qua bộ lọc định tuyến nào đó (Filter).Như với ví dụ trên chúng ta có Filter là checkLogin,giả sử chúng ta có rất nhiều trang mà cần sử dụng bộ lọc kiểm tra đăng nhập này,không lẽ chúng ta lại phải viết tất cả các khóa before.Nhưng khi sử dụng Route Groups các bạn chỉ cần viết 1 lần khóa before cho nhómn đó.
+ Như vậy là khi các bạn truy cập vào các link ở trên thì sẽ được thông qua Filter checkLogin kiểm trước. 6. Route Prefixing – Tiền tố trước bộ định tuyến– Gồm 1 số các định tuyến mà đằng trước nó có tiền tố
– Với các đường link trên thì các bạn thấy trước nó đều có tiền tố (Prefix) là admin phải không nào.Lúc này chúng ta hoàn toàn có thể cho nó vào 1 nhóm có tiền tố admin và thực hiện kiểm tra
Với ví dụ trên mình đang nhóm tất cả các link có tiền tố là admin,và trước khi truy cập vào những link này mình sẽ thực hiện gọi tới Filter checkLogin để kiểm tra xem đã đăng nhập chưa.Và đây chính là phần mà mình sẽ áp dụng cho việc kiểm tra xem admin đã đăng nhập hay chưa khi truy cập vào trang quản trị.Với dòng code kiểm tra thật ngắn nhưng lại rất hiệu quả phải không các bạn. – Kết thúc bài viết: Qua bài viết này mình đã giới thiệu cho các bạn những kiến thức cơ bản về Router trong Laravel,tuy trong 1 bài viết mình chưa thể nói lên hết được sức mạnh của Router nhưng phần nào đó cũng giúp cho các bạn áp dụng được cho những chức năng quan trong.Routing trong laravel sẽ để đề cập hầu như trong xuyên xuốt trong các bài viết về Laravel, lên khi xem các bài sau các bạn có thể đụng chàm nhiều hơn và hiểu sâu hơn.Sang bài tiếp theo mình sẽ đề cập tới Controller trong Laravel
Theo: http://hocphp.info/ |