Php &引用;插件";composer项目,能够访问主项目的依赖项

Php &引用;插件";composer项目,能够访问主项目的依赖项,php,composer-php,Php,Composer Php,所以我不太明白这一点。我们有一个API作为编写器项目。 不,我们需要以模块化的方式向这个API添加功能,为每个模块创建单独的composer项目 但是在开发过程中如何解决依赖关系呢?每个模块都需要访问“核心”API项目才能测试代码 当前的API还不是真正的composer包。但我最初的想法是为我即将开发的模块创建一个新包,然后为“核心”API添加一个开发依赖项 或者我应该怎么做?您的模块是独立的吗。没有“核心”包可用吗? 我想不是,所以“核心”模块是每个模块的依赖项。 因此,“you/core”

所以我不太明白这一点。我们有一个API作为编写器项目。 不,我们需要以模块化的方式向这个API添加功能,为每个模块创建单独的composer项目

但是在开发过程中如何解决依赖关系呢?每个模块都需要访问“核心”API项目才能测试代码

当前的API还不是真正的composer包。但我最初的想法是为我即将开发的模块创建一个新包,然后为“核心”API添加一个开发依赖项


或者我应该怎么做?

您的模块是独立的吗。没有“核心”包可用吗?
我想不是,所以“核心”模块是每个模块的依赖项。 因此,“you/core”包需要位于每个模块的composer.json的require块中

请注意,这并不依赖于开发人员,因为我认为如果没有核心包,您的模块将无法使用。
Phpunit是一个典型的开发依赖项,因为如果没有Phpunit,模块的功能仍然可以工作

要测试和开发模块,您需要在模块项目文件夹中运行
composer安装
,将所有依赖项提取到供应商文件夹中。然后,您可以开发并呈现所有依赖项。不过,您需要使用作曲家自动加载器。F.e在phpunit.xml.dist中


别忘了将
供应商
添加到您的.gitignore

听起来不错:开发依赖项通常用于测试目的正如您所说:模块根本不是独立的。它们完全依赖于核心包。我只是不想要它的核心。这只是一个如何开发模块的问题,并且仍然能够在编码时进行尝试。您可以先通过测试独立开发模块,然后将其集成到项目中。然后,您可以简单地在项目的vendor文件夹中修复和编码,直到它工作并将更改合并回standalone module文件夹,对更改执行更多测试,然后提交并推送到那里。然后再次对项目中的模块包进行composer更新。