【发布时间】:2017-03-19 06:00:05
【问题描述】:
我正在尝试将控制器名称和方法传递给 Alto Router 映射方法,但它不起作用
在index.php 我有以下代码
<?php
require_once 'vendor/autoload.php';
use Route\AltoRouter;
use App\Controllers\HomeController;
$router = new AltoRouter();
$router->setBasePath('demo/');
$router->map('GET','/', 'HomeController#index');
$router->map('GET', '/php', function(){
echo 'It is working';
});
$match = $router->match();
// call closure or throw 404 status
if( $match && is_callable( $match['target'] ) ) {
call_user_func_array( $match['target'], $match['params'] );
} else {
echo "<pre>";
print_r($match);
}
控制器
class HomeController extends Controller{
public function __construct()
{
echo "hello, i am a page.";
}
public function index(){
echo "hello, i am a page.";
}
如果我访问http://localhost/demo/php 那么它的工作但不是控制器 url 但它的抛出错误
Array
(
[target] => HomeController#index
[params] => Array
(
)
[name] =>
)
谁能帮我解决它?
还有没有办法require_once 'vendor/autoload.php'; 一次而不是添加所有页面
【问题讨论】:
标签: php laravel codeigniter routing altorouter