ZF2 模块开发 - 使用 GIT 和 Composer 的主机
ZF2 Modules Development - Host using GIT and Composer
我正在为 ZF2 开发模块,各个模块托管在其自己的存储库中 space,这是我的结构
module
|__ User
|___ config
|___ src
|___ Module.php
|___ composer.json
|___ .git
__ Theme
|___ config
|___ src
|___ Module.php
|___ composer.json
|___ .git
User
模块托管在 bitbucket.org/example/user
,Theme
托管在 bitbucket.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
如果你注意到它在用户模块中添加了vendor目录,用这种方式开发是正常的吗?我期望依赖模块在根供应商目录中而不是在模块目录中,这种方法对我来说的问题是我不希望供应商在模块目录中,这样如果我有共享依赖它会在多个目录中复制吗?在 ZF2 中开发多个模块的好处是什么?
谢谢。
我认为这个问题已经在这里得到了很多回答:
基本上你不会把composer包放到modules
文件夹里,而是让Composer把它们放到vendor
目录里。这将不需要安装模块依赖项,因为主应用程序的 Composer 将一次性解决所有依赖项。
编辑包主要是一个问题,什么是好的 - 你可能会很高兴使用 composer update --prefer-source
,它将把 git 存储库克隆到文件夹中,你就可以工作了和他们在一起。或者,如果您想在其他任何地方使用这些存储库,您可以应用任何您想要的方法,例如使用符号链接等。 Composer 不会介意 - 如果它在路径中找到存储库,它将使用它。
但是请注意,如果您在未提交所有内容的情况下不小心 运行 更新,可能会很危险。
此外,如果您忘记提交一个重要文件,可能会出现问题 - 它可以在您的机器上运行,因为该文件在那里,但不在存储库中,因此在其他任何地方都将丢失。
我正在为 ZF2 开发模块,各个模块托管在其自己的存储库中 space,这是我的结构
module
|__ User
|___ config
|___ src
|___ Module.php
|___ composer.json
|___ .git
__ Theme
|___ config
|___ src
|___ Module.php
|___ composer.json
|___ .git
User
模块托管在 bitbucket.org/example/user
,Theme
托管在 bitbucket.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
如果你注意到它在用户模块中添加了vendor目录,用这种方式开发是正常的吗?我期望依赖模块在根供应商目录中而不是在模块目录中,这种方法对我来说的问题是我不希望供应商在模块目录中,这样如果我有共享依赖它会在多个目录中复制吗?在 ZF2 中开发多个模块的好处是什么?
谢谢。
我认为这个问题已经在这里得到了很多回答:
基本上你不会把composer包放到modules
文件夹里,而是让Composer把它们放到vendor
目录里。这将不需要安装模块依赖项,因为主应用程序的 Composer 将一次性解决所有依赖项。
编辑包主要是一个问题,什么是好的 - 你可能会很高兴使用 composer update --prefer-source
,它将把 git 存储库克隆到文件夹中,你就可以工作了和他们在一起。或者,如果您想在其他任何地方使用这些存储库,您可以应用任何您想要的方法,例如使用符号链接等。 Composer 不会介意 - 如果它在路径中找到存储库,它将使用它。
但是请注意,如果您在未提交所有内容的情况下不小心 运行 更新,可能会很危险。
此外,如果您忘记提交一个重要文件,可能会出现问题 - 它可以在您的机器上运行,因为该文件在那里,但不在存储库中,因此在其他任何地方都将丢失。