Symfony路由“选项”配置密钥

时间:2019-03-11 14:15:11

标签: php symfony routing

如果我在Symfony路由中输入了无效的路由配置密钥,则会收到一条有用的异常消息,其中列出了所有有效的Symfony路由配置密钥

  

路由文件“ path / to / config / routes.yaml”包含不受支持的“ route_name”:“ invalid_key_name”键。预期值之一:“资源”,“类型”,“前缀”,“路径”,“主机”,“方案”,“方法”,“默认值”,“需求”,“选项”,“条件”,“控制器” ”,“名称前缀”,“ trailing_slash_on_root”

这些键中的大多数都记录在the Symfony site上的某个位置。但是,我找不到options键的文档。

有人知道这应该(或可以)用于什么吗?

1 个答案:

答案 0 :(得分:0)

深入研究路线对象的类文件即可

#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在options数组上设置了一个compiler_class字段,options:配置键就是链接到此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开发人员都不需要/不想使用它们,但是它仍然存在。