gpt4 book ai didi

symfony - 自 Symfony 2.8 以来生成 bundle 时询问多应用程序的新选项

转载 作者:行者123 更新时间:2023-12-02 16:59:18 25 4
gpt4 key购买 nike

在 Symfony 2.8 之前,因为我需要 Symfony 中的多应用系统,

我按照这两篇文章来实现这一目标:

-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 开始,我发现生成包时会提出一个新问题:

Welcome to the Symfony bundle generator!
Are you planning on sharing this bundle across multiple applications? [no]:

但我在网上没有找到任何有关此功能的信息。它与 MultiApp 功能相关吗?有相关信息吗?

无论如何,谢谢并致以最诚挚的问候!

最佳答案

@michael-sivolobov的答案非常好。

但是,我想更清楚地回答这个问题:

Are you planning on sharing this bundle across multiple applications? [no]:

Symfony Bundle 生成器需要决定生成的包的用途。

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

如果不遵循约定,将从控制台打印一条消息,内容如下:

Each bundle is hosted under a namespace (like Acme/BlogBundle). The namespace should begin with a "vendor" name like your company name, your project name, or your client name, followed by one or more optional category sub-namespaces, and it should end with the bundle name itself (which must have Bundle as a suffix).

See Best Practice for Bundle Name for more details on bundle naming conventions.

Use / instead of \ for the namespace delimiter to avoid any problem.

src/目录下生成的Bundle的文件结构将是:

├─ src/
│ └─ yourVendor/
│ └─ yourBundle/
│ └─ Controller/
│ └─ DependencyInjection/
│ └─ Resources/
│ └─ Tests/
│ └─ yourVendorYourBundle.php/

如果您的回答是:这意味着您打算仅将生成的 bundle 用于当前项目,因此您不需要“供应商” name 作为前缀,因为它永远不会被共享。

src/目录下生成的Bundle的文件结构将是:

├─ src/
│ └─ yourBundle/
│ └─ Controller/
│ └─ Resources/
│ └─ Tests/
│ └─ yourBundle.php/

这里有一些关于 Best Practices for creating projects 的好文档.

关于symfony - 自 Symfony 2.8 以来生成 bundle 时询问多应用程序的新选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34314076/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com