Cấu hình
Tệp cấu hình tuyến đường được đặt tại fuel / app / config / routes.php . Tệp routes.php mặc định được định nghĩa như sau:<?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, / ví dụ 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. chào mừng / index giải quyết cho Controller_Welcome controller và action_index action method. Tương tự, chúng tôi có các tuyến đường dành riêng sau đây.
![]() |
| Học lập trình PHP chuyên nghiệp |
403 - Nó ném khi tìm thấy HttpNoAccessException.
404 - Nó trả về khi không tìm thấy trang.
500 - Nó ném khi HttpServerErrorException được 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 tìm thấy kết quả phù hợp, yêu cầu sẽ được chuyển đến URI. Định tuyến đơn giản được mô tả như sau,return array ( 'about' => 'site/about', 'login' => 'employee/login', );Ở đây, về các kết quả phù hợ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
đăng nhập phù hợp http: // localhost: 8080 / đăng nhập và giải quyết bộ điều khiển, Controller_Login và phương thức hành động, action_login
==> Phần mềm lập trình PHP chuyên nghiệp.
: any - Điều này khớp với bất kỳ thứ gì từ thời điểm đó trên URI, không khớp với "không có gì"
: tất cả mọi thứ - Giống như: bất kỳ, nhưng cũng phù hợp với "không có gì"
: phân khúc - Chỉ khớp với 1 phân đoạn trong URI, nhưng phân đoạn đó có thể là bất kỳ thứ gì
: num - Số 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 cả UTF-8
: alnum - Điều này khớp với bất kỳ ký tự chữ và số nào, bao gồm cả UTF-8
Ví dụ: tuyến đường sau khớp với URI http: // localhost: 8080 / hello / PHP và xử lý bộ điều khiển, Controller_Welcome và action action_hello
PHP hỗ trợ các tuyến đường để phù hợp với các hành động tiền tố phương thức HTTP. Sau đây là cú pháp cơ bản.
Định tuyến nâng cao
Bạn có thể bao gồm bất kỳ regex nào vào tuyến đường của mình. Nhiên liệu hỗ trợ các tính năng định tuyến nâng cao sau:: any - Điều này khớp với bất kỳ thứ gì từ thời điểm đó trên URI, không khớp với "không có gì"
: tất cả mọi thứ - Giống như: bất kỳ, nhưng cũng phù hợp với "không có gì"
: phân khúc - Chỉ khớp với 1 phân đoạn trong URI, nhưng phân đoạn đó có thể là bất kỳ thứ gì
: num - Số 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 cả UTF-8
: alnum - Điều này khớp với bất kỳ ký tự chữ và số nào, bao gồm cả UTF-8
Ví dụ: tuyến đường sau khớp với URI http: // localhost: 8080 / hello / PHP và xử lý bộ điều khiển, Controller_Welcome và action 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 Yêu cầu để 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 Request trong chương Request and Response .
Kết quả
Hành động phương thức HTTPPHP hỗ trợ các tuyến đường để phù hợp với các hành động 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 các URL của bạn tới các 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