作曲家,为什么我有多个子目录?

时间:2014-11-13 11:05:51

标签: composer-php

我是作曲家的新手。我已经安装了一个包含多个家属的包裹。我在供应商文件夹中得到一个奇怪的目录结构:

/vendor
    /symphony
        /event-dispatcher
            /Symphony
                /Component
                    /EventDispatcher
        /http-foundation
            /Symphony
                /Component
                    /HttpFoundation
        /...
            /Symphony
                /Component

我希望将所有交响乐组件放在一个文件夹/Symphony/Component中,但不是这样,我拥有与/Symphony/Component一样多的交响乐组件。

我有一个非常基本的composer.json文件:

{
    "autoload": {
        "psr-0": {
            "Mb\\": "inc/"
        }
    },
    "require": {
        "cboden/Ratchet": "0.3.*",
        "react/zmq": "0.2.*"
    }
}

这是正常行为,还是我做错了什么?

1 个答案:

答案 0 :(得分:1)

此目录结构正常。 cboden/ratchet包需要symfony/http-foundationsymfony/routing个包。反过来,这些依赖包括更多的Symfony包。 Composer将每个编写器程序包独立安装到vendor中的自己的目录中。包源代码在每个包内。因为所有Symfony包都使用相同的根命名空间,所以最终会得到许多具有类似目录结构的包。这就是作曲家的设计方式。