当前位置:  开发笔记 > 编程语言 > 正文

自Symfony 2.8生成捆绑包时,新选项询问了多个应用程序

如何解决《自Symfony2.8生成捆绑包时,新选项询问了多个应用程序》经验,为你挑选了1个好方法。

在Symfony 2.8之前,因为我需要在Symfony中使用multiApp系统,

我按照这两个帖子来实现这个目标:

- http://jolicode.com/blog/multiple-applications-with-symfony2

- http://mihai-stancu.ro/2015/10/03/multiple-apps-in-one-repo-with-symfony2/

SensioLabs并不支持它,但它运行良好,附加控制台选项(php app/console generate:bundle --app=app1例如)可以选择您需要使用命令的应用程序.

从Symfony 2.8开始,我现在看到在生成包时会问一个新问题:

欢迎来到Symfony捆绑生成器!
您是否计划跨多个应用程序共享此捆绑包?[没有]:

但我在网上找不到任何有关此功能的信息.它与MultiApp功能有关吗?关于那个的任何信息?

非常感谢和最诚挚的问候!



1> ahmed hamdy..:

@ michael-sivolobov的回答非常好.

但是,我想在回答问题时增加更多的清晰度:

您是否计划跨多个应用程序共享此捆绑包?[没有]:

Symfony Bundle生成器需要决定生成的bundle的使用情况.

如果回答这个问题yes:这意味着您生成的Bundle将" 按原样 "用于多个项目,而不仅仅是针对您当前的项目,因此您需要为生成的包添加前缀" 供应商 "名称,并添加前缀到生成的包的命名空间.

如果不遵循约定,将从控制台打印一条消息,其中显示:

每个包都托管在命名空间下(如Acme/BlogBu​​ndle).命名空间应该以"供应商"名称开头,例如您的公司名称,项目名称或客户端名称,后跟一个或多个可选类别子命名空间,它应以包名称本身结束(必须将Bundle作为后缀).

有关包命名约定的更多详细信息,请参阅包名称的最佳实践.

使用/而不是\来命名空间分隔符以避免任何问题.

src/dirctory 下生成的Bundle的文件结构为:

?? src/
?  ?? yourVendor/
?     ?? yourBundle/
?        ?? Controller/ 
?        ?? DependencyInjection/
?        ?? Resources/
?        ?? Tests/
?        ?? yourVendorYourBundle.php/

如果您回答这个问题No:这意味着您打算仅将您生成的Bundle用于当前项目,因此您不需要" 供应商 "名称作为前缀,因为它永远不会被共享.

src/dirctory 下生成的Bundle的文件结构为:

?? src/
?  ?? yourBundle/
?     ?? Controller/ 
?     ?? Resources/
?     ?? Tests/
?     ?? yourBundle.php/

以下是有关创建项目的最佳实践的一些很好的文档.

推荐阅读
可爱的天使keven_464
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有