Расширение маршрутизации
класс RoutingExtension расширяет AbstractExtension
Обеспечивает интеграцию компонента маршрутизации с Twig.
Методы
| __construct(UrlGeneratorInterface $generator) | ||
| массив | getFunctions() Возвращает список функций для добавления в существующий список. | |
| строка | getPath(string $name, array $parameters = array(), bool $relative = false) | |
| строка | getUrl(string $name, array $parameters = array(), bool $schemeRelative = false) | |
| массив | isUrlGenerationSafe(Twig_Node $argsNode) Определяет во время компиляции, будет ли сгенерированный URL безопасным, что позволит избежать ненужного автоматического экранирования для повышения производительности. | |
| getName() {@inheritdoc} |
Детали
__construct(UrlGeneratorInterface $generator)
Параметры
| UrlGeneratorInterface | $generator |
массив getFunctions()
Возвращает список функций для добавления в существующий список.
Значение, возвращаемое
| массив | Массив функций |
строка getPath(string $name, array $parameters = array(), bool $relative = false)
Параметры
| строка | $name | |
| массив | $parameters | |
| булево | $relative |
Значение, возвращаемое
| строка |
строка getUrl(string $name, array $parameters = array(), bool $schemeRelative = false)
Параметры
| строка | $name | |
| массив | $parameters | |
| булево | $schemeRelative |
Значение, возвращаемое
| строка |
массив isUrlGenerationSafe(Twig_Node $argsNode)
Определяет во время компиляции, будет ли сгенерированный URL безопасным, что позволит избежать ненужного автоматического экранирования для повышения производительности.
Процесс генерации URL кодирует символы, не являющиеся алфавитно-цифровыми, в проценты. Поэтому нет риска, что вредоносные/неверные символы станут частью URL. Единственным символом в URL, который нужно экранировать в HTML, является амперсанд (&), разделяющий параметры запроса. Поэтому мы не можем отметить генерацию URL как всегда безопасную, а только когда уверены, что не будет нескольких параметров запроса. Это имеет место, когда их нет или только один постоянный параметр. Например, нам известно, что это безопасно: - path('route') - path('route', {'param': 'value'}) Но следующее может быть небезопасно: - path('route', var) - path('route', {'param': ['val1', 'val2'] }) // вложенный массив - path('route', {'param1': 'value1', 'param2': 'value2'}) Если param1 и param2 ссылаются на плейсхолдеры в маршруте, он по-прежнему будет безопасным. Но мы этого не знаем.
Параметры
| Twig_Node | $argsNode | Аргументы функции path/url |
Значение, возвращаемое
| массив | Массив контекстов, в которых URL безопасен Станет @final в версии 3.4, а тип-подсказка изменится на "\Twig\Node\Node" в версии 4.0. |
getName()
{@inheritdoc}
© 2004–2017 Fabien Potencier
Licensed under the MIT License.
http://api.symfony.com/3.2/Symfony/Bridge/Twig/Extension/RoutingExtension.html