Php 编写器未为Symfony组件创建正确的子文件夹

Php 编写器未为Symfony组件创建正确的子文件夹,php,symfony,composer-php,Php,Symfony,Composer Php,我在这里撞了好几个小时——我肯定我忘了什么蠢事 我有一个以前工作的Symfony组件(Finder)。在composer.json文件中将其他组件移动到dev后,我更新了composer编写器更新不再像以前正确地将查找器文件放置在正确的子文件夹中: \vendor\symfony\finder\Symfony\Component\Finder (correct) 相反,它将它们放入: \vendor\symfony\finder (incorrect) 不幸的是,大多数文件指针和自

我在这里撞了好几个小时——我肯定我忘了什么蠢事

我有一个以前工作的Symfony组件(Finder)。在composer.json文件中将其他组件移动到dev后,我更新了composer编写器更新不再像以前正确地将查找器文件放置在正确的子文件夹中

\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"
 }
}

我到底做错了什么?

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

您的代码不应受到此转换的影响。只有当它试图包含直接移动的文件时,才会受到影响。你为什么要这么做?自动加载可以帮你解决这个问题


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

哈哈,洛塔无缘无故地敲我的头;)谢谢@Sven。我必须回去找到我在代码中为“use xxx;”找到了一些指针那不应该在里面。同意没有无用的文件夹肯定更好。。。但希望他们当初就这么做了,因为它破坏了unix服务器上的某些东西(讽刺的是,不是Windows)。再次感谢。你误解了我的答案:代码本身没有改变,finder类的名称都是一样的。只更改了文件位置。如果这破坏了你的密码,你应该找出原因。不,我理解,并感谢你的回答。不得不回去搜寻一切。花了一整天的时间,结果发现答案是一个从大写到小写的文件重命名。好吧,是赢了,不是Linux。正如你所说的,一天结束时,作曲家和赛姆弗尼都没有问题——他们都做得很好。