Symfony文件夹结构标准

时间:2016-03-25 10:00:07

标签: symfony

是否有人可以详细解释Symfony *使用的标准来命名目录结构中的文件夹和文件?

MyBundle
├─ Controller/                 <-- 1) why singular?
├─ Model/                      <-- 2) why singular?
├─ Resources/                  <-- 3) why plural?
│  ├─ config/                  <-- 4) why the "c" is lowercase?
│  ├─ translations/
│  ├─ views/                   <-- 5) why the "v" is lowercase and views is plural?
│  │  └─ Default/              <-- 6) Why uppercase?
│  │     └─ my_view.html.twig  <-- 7) Why lowercase and snake case?
│  └─ public/
├─ Service/                    <-- 8) why singular?
└─ Tests/

这引出了另一个问题:如果我想在Model文件夹中创建一个包含ArchiveSection类的文件夹,我该如何命名?

  • 型号/ ArchiveSections /
  • 型号/ ArchiveSection /
  • 型号/ archive_sections /

谢谢!

*我使用的是Symfony 2.3。

2 个答案:

答案 0 :(得分:1)

请参阅docs谈论捆绑目录结构。

我想说的是,请记住,Resources目录结构必须遵循标准,才能在内核中自动注册视图路径和翻译文件。这同样适用于Command目录。

其余的就是你想要它的方式,只要知道目录结构应该重复symfony组件结构以保持逻辑和可读性(Twig目录用于创建twig扩展或函数,{{1用于保存自定义规范化程序的目录...)。

这与具有良好的目录结构相关,因为它定义了您的类名称空间结构

答案 1 :(得分:0)

symfony框架中没有严格的结构和体系结构目录规则。但是存在最佳实践和标准惯例。

在你的情况下,没有任何问题,你可以做你想要的。 似乎名称目录中的下划线不是非常标准的约定,但不是强制性的。

对于单数或多项的问题处理,似乎是symfony开发人员未解决的问题。示例:我将我的服务目录命名为像'services'这样的plurial,并且我的所有代码都使用此名称完美运行。