【问题标题】:Where to place Application bundles?在哪里放置应用程序包?
【发布时间】:2014-09-23 19:32:55
【问题描述】:

我有一个使用 Symfony 编写的应用程序,并希望将一些小包合并为该应用程序的一部分。

关于 Sonata 的 Symfony2 捆绑包快速浏览,我需要一个 ApplicationBundle。

快速 Symfony2 捆绑浏览:

  • 有两种类型的捆绑包:
    • 应用程序包 (AB),
    • 供应商捆绑包 (VB),不应在项目内修改。
  • AB 目录是开发人员实施项目要求的地方,
  • AB 几乎可以覆盖 VB 中的所有内容,例如:您可以在 AB 级别重新定义 VB 模板。

(Source)

Symfony 文档介绍了架构:

Symfony 应用程序的目录结构相当灵活, 但推荐的结构如下:

  • app/:应用配置;
  • src/:项目的PHP代码;
  • vendor/:第三方依赖;
  • web/:网络根目录

(Source)

但是我应该把它放在哪里呢?

有两种可能:

  • app/Application(Sonata EasyExtends 在这里放置 ApplicationBundles)
  • 源代码

但是什么是正确的呢?
为什么会有两种可能?

Symfony 文档不包括 ApplicationBundle。

感谢任何提示。

【问题讨论】:

  • 您应该将您的应用程序及其捆绑包放在 src 文件夹中。所以即 src > YourApplication > YourFunctionalityBundle

标签: symfony symfony-2.5


【解决方案1】:

文档说:

  • 应用程序包(用两个词来说,这很重要)存储在src/ 目录中。
  • 供应商捆绑包存储在 vendor/directory 中(并且来自您的 composer.json 依赖项)。

您可以(并且应该)为您的应用程序创建许多捆绑包。

【讨论】:

  • 这种情况下,app/Application是什么意思?
  • 我不确定您是否可以在 app 目录中拥有捆绑包。我什至不明白为什么我要在这里存储一个捆绑包而不是vendor
  • app/Application 没有意义。您的配置(AppKernel、config.yml 等)位于 app 下。任何实际代码都在 src 下。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-09-19
  • 1970-01-01
相关资源
最近更新 更多