在这里敲我的头几个小时 - 我确信我已经忘记了一些愚蠢的事。
我有一个以前工作的 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"
}
}
我到底做错了什么?
答案 0 :(得分:2)
不,放置取景器的地方是正确的。它在Symfony中发生了变化,他们抛出了一大堆无用的目录级别。
您的代码不应受此转换的影响。只有在尝试包含直接移动的文件时才会受到影响。你为什么要这样做 - 自动加载会为你解决它。
我认为Composer不会编写不正确的自动加载器文件,但确保您可以运行composer dump-autoload
来重新创建它们。