我是作曲家的新手。我已经安装了一个包含多个家属的包裹。我在供应商文件夹中得到一个奇怪的目录结构:
/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.*"
}
}
这是正常行为,还是我做错了什么?
答案 0 :(得分:1)
此目录结构正常。 cboden/ratchet
包需要symfony/http-foundation
和symfony/routing
个包。反过来,这些依赖包括更多的Symfony包。 Composer将每个编写器程序包独立安装到vendor
中的自己的目录中。包源代码在每个包内。因为所有Symfony包都使用相同的根命名空间,所以最终会得到许多具有类似目录结构的包。这就是作曲家的设计方式。