Как передать переменные в аннотации или yaml? - PullRequest
0 голосов
/ 12 мая 2018

В Symfony мы можем:

     /**
     * @Route(
     *     "/articles/{_locale}/{year}/{slug}.{_format}",
     *     defaults={"_format": "html"},
     *     requirements={
     *         "_locale": "en|fr",
     *         "_format": "html|rss",
     *         "year": "\d+"
     *     }
     * )
     */
    public function show($_locale, $year, $slug)
    {
    }

И

article_show:
  path:     /articles/{_locale}/{year}/{slug}.{_format}
  controller: App\Controller\ArticleController::show
  defaults:
      _format: html
  requirements:
      _locale:  en|fr
      _format:  html|rss
      year:     \d+

Мой вопрос в основном о языках.

Могу ли я передать en | fr из parameters.yml или из PHP (например, у меня есть определенные языки в базе данных) в аннотации и yaml?

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

1 Ответ

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

Вы можете передавать параметры от parameters.yml или config.yml см. doc

# app/config/routing.yml
contact:
    path:     /{_locale}/contact
    defaults: { _controller: AppBundle:Main:contact }
    requirements:
        _locale: '%app.locales%'


# app/config/config.yml
parameters:
    app.locales: en|es
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...