使用Symfony从路由获取parameters.yml中的数组
我的yml中有参数:使用Symfony从路由获取parameters.yml中的数组,symfony,Symfony,我的yml中有参数: // myparameter.yml parameters: keekbootstrap4.color: blue: - color1 - color2 red: - color1 - color2 在我的控制器中,我想获得“蓝色”键: 但我有一个错误: 路由配置值“%keekbootstrap4.color%”中使用的容器参数“keek
// myparameter.yml
parameters:
keekbootstrap4.color:
blue:
- color1
- color2
red:
- color1
- color2
在我的控制器中,我想获得“蓝色”键:
但我有一个错误:
路由配置值“%keekbootstrap4.color%”中使用的容器参数“keekbootstrap4.color%”必须是字符串或数字,但类型为数组。
你能帮我吗?是否可以在路由url中获取具有密钥的数组?谢谢:)我想你应该这样做:
/**
* @Route("/keekbootstrap4-card-{color}.css", name="keekbootstrap4_card")
*/
public function indexAction($color)
{
$colors = $this->getParameter('keekbootstrap4.color');
if (!array_key_exists($color, $colors)) {
throw $this->createNotFoundException();
}
dump($colors[$color]);
}
可能重复为什么你问同一个问题两次?如果您对提供的答案不满意,您可以随时编辑您的原始帖子,进一步澄清您的问题以及您的期望答案:我不知道它是否有效,但您是否尝试过
requirements={“color”:“%keekbootstrap4.color.blue.0%”|“%keekbootstrap4.color.blue.1%”
或requirements={“color”:%keekbootstrap4.color.blue.0%|%keekbootstrap4.color.blue.1%}
/**
* @Route("/keekbootstrap4-card-{color}.css", name="keekbootstrap4_card")
*/
public function indexAction($color)
{
$colors = $this->getParameter('keekbootstrap4.color');
if (!array_key_exists($color, $colors)) {
throw $this->createNotFoundException();
}
dump($colors[$color]);
}