我有这个路由。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%参数的热点。如何将其参数设置为routing.yml?
也许我错了,但据我所知,您不需要设置%kernel.root_dir%参数,因为它在项目文件夹中的其他位置已经设置好了。在文件YourProjectappbootstrap.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++),你会发现在默认和第三方捆绑包中有很多地方设置了这个参数。
然而,通常情况下,如果您想设置参数值,您应该找到文件YourProjectappconfigparameters.yml
(如果您选择yml作为捆绑包配置格式)。在那里添加您的密钥,但不包含%%及其值。
parameters:
my.param: 25
如果您的配置是用xml完成的,请使用
<parameters>
<parameter key="my.param">25</parameter>
</parameters>
你就完了。