我正在使用 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];
}
在 vendor/composer/ClassLoader.php 中,下次运行应用程序时,您将看到哪些类不在类映射中。然后您可以编辑您的 composer.json 并添加这些类的路径,如下所示:
"autoload": {
"classmap": [
"path/to/myClasses/",
]
}
完成后,您可以运行composer dump-autoload -o
. 它应该可以解决问题。