在命令'route:debug'后,我在控制台中遇到了一个奇怪的错误。
`
[Symfony\Component\Config\Exception\FileLoaderLoadException]
Cannot import resource "....../src/Acme/MyBundle/Resources/config/routes.yml"
from "....../app/config/routing.yml".
(Class could not be determined for Controller identified by
"Acme\MyBundle\Controller
\ ageController"
`
在Acme / MyBundle / config / routes.yml中我有
resource: "Acme\MyBundle\Controller\PageController"
从app / config / routing.yml链接
resource: "@AcmeMyBundle/Resources/config/routes.yml"
通过检查代码,似乎由于某种原因Yaml::parse($path)
在$config['resource']
中将控制器名称返回为“ageController”,而没有“P”字母
......我哪里错了?
非常感谢
-------- EDIT -------
感谢@piotrekkr的有用回复。
通过转义“P”字符,它可以工作。谢谢Piottekr
所以它变成了:
Acme\MyBundle\Controller\\PageController
答案 0 :(得分:3)
我认为原因是\P
是YAML中的特殊字符。来自http://yaml.org/spec/1.2/spec.html#id2776092
5.7。逃脱的角色
必须转义所有不可打印的字符。 YAML逃脱序列 使用大多数现代计算机语言常用的“\”符号。每 转义序列必须解析为适当的Unicode字符。 原始转义序列是演示细节,不得为 用于传达内容信息。
请注意,转义序列仅以双引号解释 标量。在所有其他标量样式中,“\”字符没有特殊之处 意义和不可打印的字符不可用。
和角色
[58] ns-esc-paragraph-separator :: =“P” - 转义的Unicode段落分隔符(#x2029)字符。
尝试在YAML中使用\\P