我正在使用Blackfire来分析我的Laravel应用程序。
我收到一条消息:
You should dump optimized Composer autoloader
metrics.composer.autoload.find_file.count 7 == 0
我跑了:
composer dump-autoload -o
但我仍然收到这条消息
我错过了什么吗?我应该做其他操作吗?
这意味着并非所有应用程序中使用的类都被添加到自动加载器的类映射中,该类映射只是一个大数组 - 'className' => 'path/To/class'
位于vendor/composer/autoload_classmap.php
。
这就是解决方法:
首先,您需要找出缺少哪些类。您可以添加以下内容:var_dump($class);
之后立即
if (isset($this->classMap[$class])) {
return $this->classMap[$class];
}
在供应商/作曲家/类加载器.php中,下次运行应用时,您将看到哪些类不在类映射中。然后,您可以编辑 composer.json 并为这些类添加路径,如下所示:
"autoload": {
"classmap": [
"path/to/myClasses/",
]
}
完成此操作后,您可以运行composer dump-autoload -o
。它应该解决问题。