当多个组件位于相同的vcs repo中时使用Composer

时间:2013-06-05 17:43:56

标签: php composer-php packagist

我有一个包含一些小型和相关库的git repo。由于我正在使用的平台缺乏适当的依赖管理,处理许多git repos是一件麻烦事,因此我的团队决定将这些放入一个git repo中。我现在正致力于通过Composer安装我们的软件。然而,我不清楚如何在这个git仓库中注册每个组件,因为我甚至不确定每个repo可能有多个composer.json文件。这可能吗?如果是这样,怎么样?

1 个答案:

答案 0 :(得分:4)

  

“每个repo可能有多个composer.json文件。”

没有

您无法单独注册组件,它们将被注册为一个大的依赖项,您必须将它们全部导入到其他项目中,而不是单独提取它们。

但是,您可以在目录结构中注册每个组件的位置,以便自动装带器能够正确加载它们。

"autoload": {
    "psr-0": {
        "Intahwebz\\Component1": "src/Component1",
        "Intahwebz\\Component2": "src/Intahwebz/Component2",
        "Intahwebz": "src/"
    }
}

包含Composer生成的自动加载器后,创建Intahwebz \ Component1 \ TestClass类型的新类将在正确的目录中找到它。