Используя документацию, оставленную невероятными людьми Symfony, я бы хотел сопоставить маршрут при передаче конкретной строки запроса.Я отладил его до смерти, но кажется, что он не должен работать таким образом, хотя я не могу интерпретировать, но это должно работать из документов .
Проще говоря, яхотелось бы сопоставить маршрут с условиями с помощью аннотаций PHP.Это, конечно, требует от меня включения аннотаций и компонента языка выражений.Все отлично работает, но когда я использую часть query
объекта запроса в EL ( E xpression L anguage), это не работает.
Объект запроса HttpFoundation имеет вид следующим образом .Он ясно заявляет «запрос» как свойство, таким образом, имея query.has('key')
и query.get('key') == 'value'
.На этом языке есть и context.
, и request.
, хотя запрос пуст.Когда я редактирую кеш, строка явно имеет queryParams: "v=test"
.Следующее должно работать без проблем, но безрезультатно.
/** @Route("/test", name="testcondition", condition="request.query.has('v') and request.query.get('v') == 'test'")
Без сигары.Удалите условную часть, и она работает просто отлично.Оставьте флажок .has
и он перестанет работать, потому что он пуст.
Что я делаю не так?Я полностью в курсе.
symfony/routing v4.2.3 Symfony Routing Component
symfony/http-foundation v4.2.3 Symfony HttpFoundation Component
symfony/http-kernel v4.2.3 Symfony HttpKernel Component
symfony/expression-language v4.2.3 Symfony ExpressionLanguage Component
sensio/framework-extra-bundle v5.2.4 This bundle provides a way to configure your controllers with annotations
Symfony
Version 4.2.3
End of maintenance 07/2019
End of life 01/2020