Thứ Ba, 25 tháng 12, 2018

lập trình PHP - Định tuyến

Bản đồ định tuyến yêu cầu URI tới phương thức của bộ điều khiển cụ thể. Trong chương này, chúng ta sẽ thảo luận chi tiết về khái niệm định tuyến trong Khóa học lập trình PHP.

Cấu hình lập trình PHP


Tập tin cấu hình tuyến đường được đặt tại Fuel / app / config / Rout.php . Tệp Rout.php mặc định được định nghĩa như sau.

Khóa học lập trình PHP
Khóa học lập trình PHP

<?php 
   return array ( 
      '_root_'  => 'welcome/index',   // The default route 
      '_404_'   => 'welcome/404',     // The main 404 route 
      'hello(/:name)?' => array('welcome/hello', 'name' => 'hello'), 
   );
Ở đây, _root_ là tuyến mặc định được xác định trước, sẽ được khớp khi ứng dụng được yêu cầu với đường dẫn gốc, / vd http: // localhost: 8080 / .

Giá trị của _root_ là bộ điều khiển và hành động được giải quyết khi nó được khớp. welcome / index giải quyết thành Trình điều khiển_Welcome và phương thức hành động action_index . Tương tự, chúng tôi có các tuyến dành riêng sau đây.

root - Tuyến mặc định khi không có URI được chỉ định.

403 - Nó ném khi tìm thấy.

404 - Nó trả về khi không tìm thấy trang.

500 - Nó ném khi tìm thấy.

Định tuyến đơn giản


Tuyến đường được so sánh với URI yêu cầu. Nếu một kết quả khớp được tìm thấy, yêu cầu được chuyển đến URI. Định tuyến đơn giản được mô tả như sau
return array ( 
   'about'  => 'site/about', 
   'login' => 'employee/login', 
);
Tại đây, về các kết quả trùng khớp http: // localhost: 8080 / about và giải quyết bộ điều khiển, Controller_Site và phương thức hành động, action_about

Định tuyến nâng cao


Khóa học lập trình PHP Bạn có thể bao gồm bất kỳ regex vào các tuyến đường của bạn. Fuel hỗ trợ các tính năng định tuyến tiên tiến sau 

: any - Điều này khớp với mọi thứ từ thời điểm đó trong URI, không khớp với không có gì

: mọi thứ - Giống như: bất kỳ, nhưng cũng phù hợp với không có gì

: phân đoạn - Đoạn này chỉ khớp với 1 đoạn trong URI, nhưng đoạn đó có thể là bất cứ thứ gì

: num - Điều này khớp với bất kỳ số nào

: alpha - Điều này khớp với bất kỳ ký tự alpha nào, bao gồm UTF-8

: alnum - Điều này khớp với bất kỳ ký tự chữ và số nào, bao gồm UTF-8

Ví dụ: tuyến đường sau khớp với URI http: // localhost: 8080 / hello /PHP và giải quyết bộ điều khiển, Controller_Welcome và hành động action_hello
'hello(/:name)?' => array('welcome/hello', 'name' => 'hello'),
Phương thức hành động tương ứng trong Controller_Welcome như sau
public function action_hello() { 
   $this->name = Request::active()->param('name', 'World'); 
   $message = "Hello, " . $this->name;  
   echo $message; 
}
Ở đây, chúng tôi đã sử dụng lớp Request để lấy tham số tên từ URL. Nếu không tìm thấy tên, thì chúng ta đang sử dụng World làm giá trị mặc định. Chúng ta sẽ học lớp Yêu cầu trong chương Yêu cầu và Trả lời .

Kết quả

Phương thức hành động HTTP


Khóa học lập trình PHP hỗ trợ các tuyến đường để khớp với các hành động có tiền tố phương thức HTTP. Sau đây là cú pháp cơ bản.
class Controller_Employee extends Controller { 
   public function get_index() { 
      // called when the HTTP method is GET. 
   }  
   public function post_index(){ 
      // called when the HTTP method is POST. 
   } 
}
Chúng tôi có thể định tuyến URL của bạn đến bộ điều khiển và hành động dựa trên động từ HTTP trong tệp cấu hình như sau.
return array ( 
   // Routes GET /employee to /employee/all and POST /employee to /employee/create 
   employee => array(array('GET', new Route(‘employee/all')), array('POST', 
      new Route(‘employee/create'))), 
);

Không có nhận xét nào:

Đăng nhận xét

lập trình PHP cho các nhà phát triển PERL

Chương này sẽ liệt kê những điểm tương đồng và khác biệt chính giữa PHP và PERL. Điều này sẽ giúp các nhà phát triển PERL hiểu PHP rất nhanh...