Tôi đang cố gắng sử dụng bộ định tuyến (AltoRouter) lần đầu tiên và không thể gọi bất kỳ trang nào.Định tuyến qua Php AltoRouter
cấu trúc thư mục Web
index.php
require 'lib/AltoRouter.php';
$router = new AltoRouter();
$router->setBasePath('/alto');
$router->map('GET|POST','/', 'home#index', 'home');
$router->map('GET|POST','/', 'display.php', 'display');
$router->map('GET','/plan/', 'plan.php', 'plan');
$router->map('GET','/users/', array('c' => 'UserController', 'a' => 'ListAction'));
$router->map('GET','/users/[i:id]', 'users#show', 'users_show');
$router->map('POST','/users/[i:id]/[delete|update:action]', 'usersController#doAction', 'users_do');
// match current request
$match = $router->match();
if($match && is_callable($match['target'])) {
call_user_func_array($match['target'], $match['params']);
} else {
// no route was matched
header($_SERVER["SERVER_PROTOCOL"] . ' 404 Not Found');
}
Tôi có một file có tên plan.php (kế hoạch hiển thị) trong thư mục kế hoạch và các siêu liên kết mà tôi đang cố gắng là
<a href="<?php echo $router->generate('plan'); ?>">Plan <?php echo $router->generate('plan'); ?></a>
whi ch không hoạt động.
Bạn có thể trợ giúp không?
Tôi nhận được trang chủ hoạt động nhưng không thể gọi plan.php. Trang chủ có liên kết để lập kế hoạch Plan mà tôi đã thay đổi thành Plan generate('plan'); ?>. –
home # index công việc này vì hầu như bạn có lớp Home với chỉ mục phương thức trong đó. $ router-> map ('GET', '/ plan /', function() { yêu cầu __DIR__. '/plan/plan.php'; }, 'plan'); Khi tuyến đường phù hợp, chức năng này ở trên bao gồm tệp plan.php. Thay thế, bạn có thể tạo lớp 'kế hoạch' với chỉ mục phương thức và sau đó bạn sẽ có thể chuyển chỉ mục kế hoạch # theo cách tương tự như đối với trang chủ. –