Symfony Routing `Опции` Ключ конфигурации - PullRequest
0 голосов
/ 11 марта 2019

Если я введу неверный ключ конфигурации маршрутизации в маршрут Symfony, я получу полезное сообщение об исключении, в котором перечислены все действительные ключи конфигурации маршрутизации Symfony

Файл маршрутизации "путь / к / config/routes.yaml "содержит неподдерживаемые ключи для" route_name ":" invalid_key_name ".Ожидается одно из: «ресурс», «тип», «префикс», «путь», «хост», «схемы», «методы», «значения по умолчанию», «требования», «опции», «условие», «контроллер»"," name_prefix "," trailing_slash_on_root "

Большинство этих ключей документированы где-то на сайте Symfony .Однако я не смог найти документацию для ключа options.

Кто-нибудь знает, для чего это следует (или можно) использовать?

1 Ответ

0 голосов
/ 31 марта 2019

Копание в файл класса объекта маршрута показывает это

#File: vendor/symfony/routing/Route.php
public function setOptions(array $options)
{
    $this->options = array(
        'compiler_class' => 'Symfony\\Component\\Routing\\RouteCompiler',
    );

    return $this->addOptions($options);
}

То есть - Symfony устанавливает поле compiler_class в массиве параметров, и именно с этим массивом параметров связан ключ конфигурации options:. Затем Symfony использует эту опцию класса компилятора в том же классе

#File: vendor/symfony/routing/Route.php
public function compile()
{
    if (null !== $this->compiled) {
        return $this->compiled;
    }

    $class = $this->getOption('compiler_class');

    return $this->compiled = $class::compile($this);
}

Так что - вероятно, не то, что 99% разработчиков Symfony понадобится / захочет использовать, но оно все еще там.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...