Я хочу, чтобы все эти URL-адреса соответствовали одному и тому же контроллеру:
/
/7
/articles
/articles/
/articles/7
Можно ли добавить необязательный prefix в роутинг Symfony, чтобы префикс article был необязательным?
Как?
Я хочу, чтобы все эти URL-адреса соответствовали одному и тому же контроллеру:
/
/7
/articles
/articles/
/articles/7
Можно ли добавить необязательный prefix в роутинг Symfony, чтобы префикс article был необязательным?
Как?
Вы можете создать 2 маршрута, указывающих на один и тот же контроллер:
acme_article_prefix:
path: /articles/{id}
requirements:
id: \d+
defaults: { id: 5 }
acme_article:
path: /{id}
requirements:
id: \d+
defaults: { id: 5 }
Другой вариант — сделать префикс заполнителем:
acme_article:
path: /{_prefix}/{id}
defaults: { _prefix: articles, id: 5 }
requirements:
id: \d+
_prefix: articles
для фреймворка давно есть патч для реализации роутов типа
/(articles/){id}, которые будут совпадать с заданными вами выше urks.
/(articles/){id} не работает; но использование двух маршрутов работает, спасибо
- person Ariyan; 01.01.2014