Как работает fastRoute?

328
26 июля 2017, 23:46

Хотелось бы мне понять, как работает небезызвестный маршрутизатор fastRoute ссылка

require_once 'vendor/autoload.php';
$dispatcher = FastRoute\simpleDispatcher(function(FastRoute\RouteCollector $r) {
    $r->addRoute('GET', '/users', 'Users/getUsers');
});
// Fetch method and URI from somewhere
$httpMethod = $_SERVER['REQUEST_METHOD'];
$uri = $_SERVER['REQUEST_URI'];
// Strip query string (?foo=bar) and decode URI
if (false !== $pos = strpos($uri, '?')) {
    $uri = substr($uri, 0, $pos);
}
$uri = rawurldecode($uri);
$routeInfo = $dispatcher->dispatch($httpMethod, $uri);
switch ($routeInfo[0]) {
    case FastRoute\Dispatcher::NOT_FOUND:
        // ... 404 Not Found
        break;
    case FastRoute\Dispatcher::METHOD_NOT_ALLOWED:
        $allowedMethods = $routeInfo[1];
        // ... 405 Method Not Allowed
        break;
    case FastRoute\Dispatcher::FOUND:
        $handler = $routeInfo[1];
        $vars = $routeInfo[2];
        // ... call $handler with $vars
        list($class, $method) = explode("/", $handler, 2);
        call_user_func_array([new $class, $method], $vars);
        break;
}

Класс Users и метод getUsers созданы. А дальше не могу понять что нужно делать? В браузере когда вызываю запрос вида http://example.com/users пишет что класс Users not found. Просветите пожалуйста новичка!

READ ALSO
Laravel 5.4 invalid request (unexpected eof)

Laravel 5.4 invalid request (unexpected eof)

ЗдравствуйтеДелаю свой небольшой блог

376
telegram bot Отправка сообщений каждую минуту

telegram bot Отправка сообщений каждую минуту

есть один телеграм бот, который парсит rss лентуПодскажите пожалуйста, как можно проверять на наличие новых записей в rss и сразу отправлять...

614
Как поделить сумму на половину [требует правки]

Как поделить сумму на половину [требует правки]

Добрый день,уважаемые коллеги

280
Не работают shortcode

Не работают shortcode

Joomla 3Прикрутил возможность добавлять текстовые описания к тегам компонента CKK K2 Joomla

352