按主机拆分路由配置文件

时间:2014-04-20 02:27:44

标签: routing symfony-2.3

我有这个routing.yml

backend_routes:
    resource: "%kernel.root_dir%/config/routing_backend.yml"
    host: "backend.com"

frontend_routes:
    resource: "%kernel.root_dir%/config/routing_frontend.yml"
    host: "frontend.com"

但路由知道关于%kernel.root_dir%参数的hothing。我如何将它的参数设置为routing.yml?

1 个答案:

答案 0 :(得分:0)

也许我弄错了但是因为我知道你不需要设置%kernel.root_dir%参数,因为它在项目文件夹的其他地方设置并且已经知道。在文件YourProject\app\bootstrap.php.cache中,您有

protected function getKernelParameters() { $bundles = array(); foreach ($this->bundles as $name => $bundle) { $bundles[$name] = get_class($bundle); } return array_merge( array( 'kernel.root_dir' => $this->rootDir, 'kernel.environment' => $this->environment, 'kernel.debug' => $this->debug, 'kernel.name' => $this->name, 'kernel.cache_dir' => $this->getCacheDir(), 'kernel.logs_dir' => $this->getLogDir(), 'kernel.bundles' => $bundles, 'kernel.charset' => $this->getCharset(), 'kernel.container_class' => $this->getContainerClass(), ), $this->getEnvParameters() ); }

如果找到字符串" kernel.root_dir" (在项目中使用Notepad ++),您会发现许多在默认设置和第三方包中设置此参数的地方。

然而,一般情况下,如果要设置参数值,则应找到文件YourProject\app\config\parameters.yml(如果选择yml作为捆绑配置格式)。添加没有%%及其值的密钥。

parameters:
    my.param: 25

如果您的配置是在xml中完成的,请使用

<parameters>
    <parameter key="my.param">25</parameter>
</parameters>

你已经完成了。