Home Tutorial Laravel Laravel – Bài 4: Router (Định tuyến)

Laravel – Bài 4: Router (Định tuyến)

10 min read
0
131

Trong Laravel, tất cả các yêu cầu  (request) được xử lý đầu tiên bới Router. Router cơ bản định tuyến yêu cầu đến các controller liên quan.

Router trong Laravel bao gồm các danh mục sau :

  • Basic Routing
  • Route parameters
  • Named Routes

 

Basic Routing (Định tuyến cơ bản)

Tất cả các yêu cầu của ứng dụng được đăng ký trong tệp app/routes.php . Tệp này báo cho Laravel biết các URI mà nó sẽ phản hồi và bộ điều khiển được liên kết sẽ cung cấp cho nó một lệnh gọi cụ thể. Lộ trình mẫu cho trang chào mừng có thể được hiển thị như trong ảnh chụp màn hình bên dưới –

tuyến đường

Route::get ('/', function () {
   return view('welcome');});

Thí dụ

Quan sát ví dụ sau để hiểu thêm về Router −

app/Http/routes.php

<?php
Route::get('/', function () {
   return view('welcome');
});

tài nguyên/view/welcome.blade.php

<!DOCTYPE html>
<html>
   <head>
      <title>Laravel</title>
      <link href = "https://fonts.googleapis.com/css?family=Lato:100" rel = "stylesheet" 
         type = "text/css">
      
      <style>
         html, body {
            height: 100%;
         }
         body {
            margin: 0;
            padding: 0;
            width: 100%;
            display: table;
            font-weight: 100;
            font-family: 'Lato';
         }
         .container {
            text-align: center;
            display: table-cell;
            vertical-align: middle;
         }
         .content {
            text-align: center;
            display: inline-block;
         }
         .title {
            font-size: 96px;
         }
      </style>
   </head>
   
   <body>
      <div class = "container">
         
         <div class = "content">
            <div class = "title">Laravel 5.1</div>
         </div>
			
      </div>
   </body>
</html>

Cơ chế Router được hiển thị trong hình dưới đây –

Cơ chế định tuyến

Bây giờ chúng ta hãy hiểu chi tiết các bước liên quan đến cơ chế Router –

Bước 1 – Ban đầu, chúng ta nên thực thi URL gốc của ứng dụng.

Bước 2 – Bây giờ, URL đã thực thi phải khớp với phương thức thích hợp trong tệp route.php . Trong trường hợp hiện tại, nó phải khớp với phương thức và URL gốc (‘/’). Điều này sẽ thực thi chức năng liên quan.

Bước 3 – Hàm gọi tệp mẫu resource/views/welcome.blade.php. Tiếp theo, hàm gọi hàm view() với đối số ‘chào mừng’ mà không sử dụng blade.php .

Điều này sẽ tạo ra đầu ra HTML như trong hình dưới đây –

Route parameters(Định tuyến có tham số)

Đôi khi trong ứng dụng web, bạn có thể cần nắm bắt các tham số được truyền bằng URL. Đối với điều này, bạn nên sửa đổi mã trong tệp routes.php .

Bạn có thể nắm bắt các tham số trong tệp routes.php theo hai cách như đã thảo luận ở đây –

Thông số bắt buộc

Các tham số này là những tham số bắt buộc phải được ghi lại để định tuyến ứng dụng web. Ví dụ: điều quan trọng là nắm bắt số nhận dạng của người dùng từ URL. Điều này có thể thực hiện được bằng cách xác định các tham router như hình bên dưới –

Route::get('ID/{id}',function($id) {
   echo 'ID: '.$id;
});

Thông số tùy chọn

Đôi khi các nhà phát triển có thể tạo các tham số dưới dạng tùy chọn và có thể bao gồm sau tên tham số trong URL. Điều quan trọng là giữ giá trị mặc định được đề cập dưới dạng tên tham số. Xem ví dụ sau cho biết cách xác định tham số tùy chọn –

Route::get('user/{name?}', function ($name = 'TutorialsPoint') { return $name;});

Ví dụ trên kiểm tra xem giá trị có khớp với TutorialsPoint hay không và theo đó định tuyến tới URL đã xác định.

Named Routes (Định tuyến sử dụng name)

Các router được đặt tên cho phép một cách thuận tiện để tạo các router. Việc xâu chuỗi các router có thể được chỉ định bằng cách sử dụng phương thức tên trên định nghĩa router. Đoạn mã sau hiển thị một ví dụ để tạo các router được đặt tên với bộ điều khiển –

Route::get('user/profile', 'UserController@showProfile')->name('profile');

Bộ điều khiển người dùng sẽ gọi hàm showProfile với tham số là profile . Các tham số sử dụng phương thức tên trên định nghĩa tuyến đường.

Load More Related Articles
Load More By quangvu
  • Laravel – Bài 11: Error Handling

    Hầu hết các ứng dụng web đều có cơ chế cụ thể để xử lý lỗi. Bằng cách sử dụng chúng, họ th…
  • Laravel – Bài 16 Authentication (xác thực)

    Xác thực là quá trình xác định thông tin đăng nhập của người dùng. Trong các ứng dụng web,…
  • Laravel – Bài 15: Session

    Session được sử dụng để lưu trữ thông tin về người dùng trong các yêu cầu. Laravel cung cấ…
Load More In Laravel

Check Also

Tự làm web chatGPT đơn giản cho phép dùng nhiều OpenAI key

Trong thời đại công nghệ phát triển như hiện nay, chatbot đang dần trở thành một giải pháp…