ZF2模块开发-使用GIT和Composer的主机



我正在为ZF2开发模块,单个模块托管在自己的存储库空间中,这是我的结构

module
|__ User
|___ config
|___ src
|___ Module.php
|___ composer.json
|___ .git
__ Theme
|___ config
|___ src
|___ Module.php
|___ composer.json
|___ .git

User模块在bitbucket.org/example/user上托管,Themebitbucket.org/example/theme上托管,依此类推

用户模块与DoctrineORMModule有依赖关系,当我使用composer.json包含依赖关系时,它在模块内创建供应商目录并安装文件,这是在用户模块的composer.json中添加依赖关系后的目录结构。

module
|__ User
|___ config
|___ src
|___ vendor
|___ Module.php
|___ composer.json
|___ .git
__ Theme
|___ config
|___ src
|___ Module.php
|___ composer.json
|___ .git

如果您注意到它在用户模块中添加了供应商目录,那么采用这种方法进行开发是正常的吗?我希望依赖模块安装/复制在根供应商目录中,而不是模块目录中,这种方法对我来说的问题是,我不希望供应商在模块目录内,这样,如果我有共享依赖关系,它会在多个目录中重复吗?在ZF2中开发多个模块的最佳方法是什么?

谢谢。

我认为这个问题已经有很多答案了:如何为ZFT 编写供应商程序/模块

基本上,您不会将composer包放入modules文件夹,而是让composer将它们放入vendor目录。这将使模块依赖项的安装变得不必要,因为Composer将一次性处理主应用程序的所有依赖项。

编辑软件包主要是一个问题,即什么效果好——使用composer update --prefer-source可能会很高兴,它会将git存储库克隆到文件夹中,并且您可以在那里使用它们。或者,如果你想在其他地方拥有这些存储库,你可以应用任何你想要的方法,比如使用符号链接等。Composer不会介意——如果它在路径中找到了存储库,它就会使用它

但是请注意,如果您不小心在没有提交所有内容的情况下运行更新,可能会很危险。

此外,如果你忘记提交一个重要的文件,这可能会成为一个问题——它会在你的机器上工作,因为文件在那里,但它不在存储库中,所以其他地方都会错过它。

相关内容

  • 没有找到相关文章

最新更新