Добрый день. Хотел на свой проект воткнуть роутинг от Symfony.
Документацию читал, начал делать по ней (без аннотаций, так как для них, очевидно, надо ставить сам симфони) и что-то я туплю дальше
Такой же алгоритм, правильно?
1) Прописываю сами роуты и привязываю контроллеры
$routes = new RouteCollection();
$routes->add('home', new Route('/', ['_controller' => [HomeController::class, 'index']]));
$routes->add('article', new Route('/article', [ '_controller' => [ArticleController::class, 'index']]));
2) Далее делаю
$context = new RequestContext();
$request = Request::createFromGlobals();
$context->fromRequest($request);
$matcher = new UrlMatcher($routes, $context);
$parameters = $matcher->match($request->getPathInfo());
// print_r($parameters);
Всё ок. Если на главной, то print_r выдает
Array ( [_controller] => Array ( [0] => App\controllers\HomeController [1] => index ) [_route] => home )
на site/article
Array ( [_controller] => Array ( [0] => App\lib\ArticleController [1] => index ) [_route] => article )
На тех, которых нет, выдает
ResourceNotFoundException: No routes found for ...
,что тоже, в общем, правильно.
А что непосредственно должно переводить на контроллер? Что я упустил?
class HomeController {
public function __construct() {
$this->actionIndex();
}
public function index() {
print_r('Home Controller');
}
}
Не выводит "Home Controller".
Что я упустил?