我不明白捆绑架构是否正确。 我创建了一个父,就是FOSUserBundle。我想在其他symfony2安装中使用我创建的SHN / UserBundle。
在目标应用程序中,我收到了
LogicException: Bundle "SHNUserBundle" extends bundle "FOSUserBundle", which is not registered.
我的意思是我扩展应该自动注册的fosuserbundle,因为我的SHN / UserBundle使用它?
我的思维错误在哪里?
/src/SHN/UserBundle/composer.json:
"name" : "SHN/UserBundle",
"description" : "Overwrites the FOS Userbundle with some futures",
"type" : "symfony-bundle",
"authors" : [{
"name" : "Timo Linde",
"email" : "timo.linde@shn-germany.de",
"role" : "Developer"
}],
"keywords" : [
"fos-userbundle extend"
],
"license" : [
"proprietary"
],
"require" : {
"php": ">=5.3.3",
"friendsofsymfony/user-bundle": "~1.3"
},
"autoload" : {
"psr-0" : {
"SHN\\UserBundle" : ""
}
},
"target-dir" : "SHN/UserBundle",
答案 0 :(得分:1)
你确实对bundle继承模型有误解。它不是父/子关系(是的,这个名字很混乱......)。
想象一下模板的情况(如果你只是覆盖模板,请考虑使用the app/Resources
dir instead)。当请求模板FOSUserBundle:Security:login.html.twig
时,它不是直接解析@FOSUserBundle/Resources/views/Security/login.html.twig
文件,而是首先查看@TheChildBundle/Resources/views/Security/login.html.twig
是否存在,如果存在,它会使用那个而不是位于FOSUserBundle。
它更像是一种覆盖关系。
这意味着FOSUserBundle仍然需要注册。