Пустой GET для AltoRouter

Я пытаюсь использовать AltoRouter, но я пытаюсь следовать его документации, и моя проблема в том, что $_GET всегда быть пустым.

Я использую Apache, и мой.htaccess похож на следующее:

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule . index.php [L]

А теперь это мой файл, чтобы взять $_GET и сделай роутер:

$router->map('GET', '/', 'PageController@getShowHomePage', 'home');
$match = $router->match();

list($controller, $method) = explode("@", $match['target']);

if(is_callable(array($controller, $method))) {
  $object = new $controller();
  call_user_func_array(array($object, $method), array($match['params']));
} else {
  echo "Cannot find $controller -> $method";
  exit();
}

Но я вижу, что это не работает, потому что когда я получаю $_GET, он всегда пуст, я использовал print_r($_GET) видеть внутри, чтобы $_GET, но мне был возвращен массив пустой.

Я пробовал со следующими URL, но результат был тот же:

http://localhost/mvc/
http://localhost/mvc/page
http://localhost/mvc/controller
http://localhost/mvc/produto/cadastrar

1 ответ

Это потому, что у вас нет параметров запроса (GET) в этих URL. get param будет, если вы использовали, скажем:http://localhost/mvc?param=1

Вы можете получить больше информации от $_SERVER

если вам нужна помощь в отладке, попробуйте такой инструмент, как kint

Другие вопросы по тегам