我试图第一次使用路由器(AltoRouter),我无法调用任何页面.
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');
}
Run Code Online (Sandbox Code Playgroud)
我在计划文件夹中有一个名为plan.php(显示计划)的文件,我正在尝试的超链接
<a href="<?php echo $router->generate('plan'); ?>">Plan <?php echo $router->generate('plan'); ?></a>
Run Code Online (Sandbox Code Playgroud)
这不起作用.
你能帮我吗?
是否可以使用Altorouter创建多语言路由设置?我想发送一个带有目标文件的变量(以便在查看时显示不同的内容),例如 -
$router->map('GET','/th/work/sample', 'work/sample.php', 'sample', 'th');
Run Code Online (Sandbox Code Playgroud)
但是第五个参数不可用.这有什么解决方法吗?
出于某种原因,我无法启动AltoRouter.我正在尝试最基本的电话,但一切都没有发生.我怎样才能使它工作?我的index.php文件如下所示:
<?php
include('settings/autoload.php');
use app\AltoRouter;
$router = new AltoRouter;
$router->map('GET', '/', function(){
echo 'It is working';
});
$match = $router->match();
Run Code Online (Sandbox Code Playgroud)
autoload.php:
<?php
require_once('app/Router.php');
Run Code Online (Sandbox Code Playgroud)