Composer没有为Symfony组件创建正确的子文件夹

时间:2015-06-21 18:31:07

标签: php symfony composer-php

在这里敲我的头几个小时 - 我确信我已经忘记了一些愚蠢的事。

我有一个以前工作的 Symfony组件(Finder)。我在composer.json文件中将其他组件移动到dev后更新了composer。 作曲家更新不再像以前那样将Finder文件放在正确的子文件夹中:

\vendor\symfony\finder\Symfony\Component\Finder  (correct)

相反,它将它们放入:

\vendor\symfony\finder     (incorrect)

不幸的是,大多数文件指针和自动加载器仍然指向更长的路径(使用Symfony \ Component \ Finder \ Finder;)

这是composer.json:

{
 "require" : {
    "symfony/finder" : "~2.6" // have tried with "2.7.1" 
 },
 "require-dev" : {
    "raveren/kint" : "v0.9",
    "filp/whoops" : "~1.0"
 }
}

我到底做错了什么?

1 个答案:

答案 0 :(得分:2)

不,放置取景器的地方是正确的。它在Symfony中发生了变化,他们抛出了一大堆无用的目录级别。

您的代码不应受此转换的影响。只有在尝试包含直接移动的文件时才会受到影响。你为什么要这样做 - 自动加载会为你解决它。

我认为Composer不会编写不正确的自动加载器文件,但确保您可以运行composer dump-autoload来重新创建它们。