Symfony 4 распечатать все маршруты - PullRequest
0 голосов
/ 30 мая 2018

Я пытаюсь настроить страницу индекса, которая распечатывает все конечные точки в API (используя Symfony 4).

В Symfony 2 вы можете получить маршрутизатор и через контейнер, а затемКоллекция маршрутов.Но кажется, что у вас нет доступа к контейнеру прямо из коробки в Symfony 4.

Похоже, что поиск Google не дает точного результата, который я ищу.Есть ли альтернативный способ сделать это в Symfony 4 или что-то подобное?

Ответы [ 2 ]

0 голосов
/ 30 мая 2018

Итак, я собрал кусочки вместе:

Кажется, самый простой способ - ввести Symfony\Component\Routing\RouterInterface, а затем использовать его как Router.Как я уже упоминал в этом вопросе, вы можете получить маршруты, используя $router->getRouteCollection()->all(), где $router - это введенная зависимость.

Например:

use Symfony\Component\Routing\RouterInterface;

public function someMethodInController(Request $request, RouterInterface $router)
{
    $routes = $router->getRouteCollection()->all();
    // ...
}
0 голосов
/ 30 мая 2018

Используйте в любом контроллере, это вернет вам массив доступных объектов маршрута.

$router = $this->get('router');
$routes = $router->getRouteCollection()->all();
...