转储优化的Composer自动加载器

时间:2016-03-15 22:32:39

标签: laravel blackfire

我正在使用Blackfire来分析我的Laravel应用程序。

我收到了一条消息:

You should dump optimized Composer autoloader

metrics.composer.autoload.find_file.count 7 == 0

我跑了:

composer dump-autoload -o 

但我仍然收到此消息

我错过了什么吗?我应该做另一项手术吗?

1 个答案:

答案 0 :(得分:1)

这意味着并非应用程序中使用的所有类都添加到自动加载器的类映射中,该映射只是一个大数组 - 'className' => 'path/To/class'位于vendor/composer/autoload_classmap.php

这就是解决问题的方法:

首先,您需要找出缺少哪些类。您可以在

之后添加:var_dump($class);
if (isset($this->classMap[$class])) {
    return $this->classMap[$class];
}
在vendor / composer / ClassLoader.php中

,下次运行应用程序时,您将看到哪些类不在类映射中。然后你可以编辑你的composer.json并添加这些类的路径:

"autoload": {
    "classmap": [
        "path/to/myClasses/",
    ]
}

完成此操作后,您可以运行composer dump-autoload -o。它应该解决问题。