Краткая версия: к каким объектам я, программист конечного пользователя, имею доступ при использовании условий маршрутизации Symfony?
Длинная версия: маршруты Symfony позволяют использовать ключ с именем condition
.
contact:
path: /contact
controller: 'App\Controller\DefaultController::contact'
condition: "context.getMethod() in ['GET', 'HEAD'] and request.headers.get('User-Agent') matches '/firefox/i'"
Значение condition
- это код - это специфичный для домена Symfony язык (DSL), основанный (но не идентичный?) Синтаксису языка шаблонов веток. Документы Symfony именуются «Синтаксис выражений» .
Столько всего я смог почерпнуть из документации. Что я не могу понять, так это к какому объекту я получу доступ при использовании этого DSL? то есть в приведенном выше примере выражение, кажется, имеет доступ к объекту context
и объекту request
.
Есть ли другие? Есть ли в исходном коде документы или место, где я могу увидеть, к каким другим объектам у меня будет доступ с помощью condition
?