使用git和submodule,什么是好的文件夹结构?

FMa*_*008 8 php git phpunit project-organization

我使用git和子模块,我很难弄清楚如何组织我的文件.我用PHP开发,并使用单元测试.所以现在,我为每个模块使用这个组织:

  • SRC /
  • 测试/

这似乎是个好主意,但问题是,当我对项目执行"git submodule add"时,我将拥有该路径:project/modules/News/src/index.php

src /文件夹确实存在问题.

我应该简单地将所有文件放在模块根目录中,并在源代码中混合使用测试/文件夹吗?对我来说听起来很糟糕.你在做什么 ?

编辑:由于自动加载,src /文件夹有问题.我不应该把"src"放在我所有的班级名字中......

Gor*_*don 4

只要自动加载器能够以某种方式找到您的文件,您的文件夹布局基本上是无关紧要的。如果您使用 PEAR 约定将类名映射到其源文件,则可以将 src 目录添加到包含路径或堆栈第二个自动加载器。那么你就不必将 src 添加到类名中。

PEAR 约定的替代方法是在文件和类之间使用静态映射。GitHub 上有一个工具可以自动为您生成这样的自动加载器

PHP 项目向导中也使用了静态自动加载器方法。该工具将创建 src 和测试文件夹,包括您的 phpunit 配置构建文件,以将您的项目与 Jenkins CI 连接。这是一个方便的包。

至于包含子模块,请考虑将它们放入 lib 或 ext 文件夹中。可以在 GitHub 的 phpdox 项目中找到该示例。确保您还查看了主引导文件,以了解如何包含各种自动加载器。