Вызов метода контроллера в Altorouter

Я пытался получить метод index () контроллера Home с помощью altorouter, но не смог. Я искал несколько мест, но я не мог найти какую-либо помощь.

Вот index.php

<?php

include 'system/startup.php';
include 'library/AltoRouter.php';

// Router
$router = new AltoRouter();
// Change here before upload
$router->setBasePath('/demo');
$router->map('GET|POST','/', 'home#index', 'home');

// match current request
$match = $router->match();

if( $match && is_callable( $match['target'] ) ) {
call_user_func_array( $match['target'], $match['params'] );
} else {
// no route matched
header( $_SERVER["SERVER_PROTOCOL"] . ' 404 Not Found');
}

домашний контроллер в каталоге> каталог контроллеров.

<?php
class home {
public function index() {
echo 'home';
}
}

Может ли кто-нибудь использовать или кто-либо когда-либо использовал это руководство altorouter ?.

Постскриптум У меня есть функция автозагрузки в файле startup.php (включен в верхней части index.php)

0

Решение

Это старая ветка, но это может вам помочь. Вам нужен запрос на совпадение другим способом:

<?php

include 'system/startup.php';
include 'library/AltoRouter.php';

// Router
$router = new AltoRouter();
$router->setBasePath('/demo');
$router->map('GET|POST','/', 'home#index', 'home');
$match = $router->match();

if ($match === false) {
// here you can handle 404
} else {
list( $controller, $action ) = explode( '#', $match['target'] );
if ( is_callable(array($controller, $action)) ) {
call_user_func_array(array($controller,$action), array($match['params']));
} else {
// here your routes are wrong.
// Throw an exception in debug, send a  500 error in production
}
}
0

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector