不同模块中同一项目中的Composer依赖关系

时间:2015-11-10 11:04:06

标签: php composer-php

我的PHP项目包含一个基本应用程序和多个模块。每个模块都可以有一个需要不同库的composer文件。该应用程序拥有一些基础库(也通过作曲家加载)。现在我的问题。

该项目具有付款功能。每个模块都支持支付网关。我想在我的项目中使用omnipay(https://github.com/thephpleague/omnipay)。 Omnypay带有不同的网关,每个网关都可以通过像

这样的作曲家自己加载
{
    "require" : {
        "omnipay/paypal": "*"
    }
}

如果我在每个模块中放入一个带有omnipay要求的composer.json文件,那就意味着将完整的omnipay堆栈(common,guzzle,simfony)添加到每个支付网关模块中。现在我的问题是,在某种程度上可以在我的应用程序composer.json文件中使用类似

的文件
{
    "config" : {
        "vendor-dir": "libraries/composer"
    },
    "require" : {
        "mustache/mustache": "*",
        "omnipay/common": "*"
    }
}

然后在模块中有一种依赖?额外的存储库会有帮助吗?像我模块中的以下composer.json文件?

    {
    "config" : {
        "vendor-dir": "libraries/composer"
    },
    "repositories": [
        {
            "type": "path",
            "url": "../../application/libraries/composer"
        }
    ],
    "require" : {
        "omnipay/paypal": "*"
    }
}

我试过了,但我不知道这是否可行。另外,当我使用上面的composer.json文件时,我收到错误Repository type is not registered: path

我是作曲家的初学者,所以请原谅这是一个微不足道的问题。但我现在卡住了。

0 个答案:

没有答案