composer dump-autoload用于重新生成自动加载文件,更新autoload配置、新增类文件或部署时需执行,可解决类找不到问题,加-o参数能优化性能。

composer dump-autoload 命令用于重新生成 Composer 的自动加载文件,而不是重新安装依赖。它会根据当前 composer.json 中的配置(如 autoload 设置、PSR-4/PSR-0 映射、classmap 等),重新构建 vendor/autoload.php 和相关的映射文件。
主要作用
这个命令的核心功能是让 PHP 能正确加载项目中的类文件,而无需手动引入每个文件。常见用途包括:
DMap GL地图JSAPI(dmapgl)开发指南。用于编写、审查、调试 DMap 地图 API 代码,涵盖地图初始化、覆盖物渲染、图层管理、事件处理、控件交互等任务。当用户提及 dmap、dmapgl、jsapi‑gl 或相关地图开发需求时自动触发。
- 更新了 autoload 配置后(比如新增了 PSR-4 命名空间映射)
- 添加了新的类文件但未被自动加载识别
- 修改了 classmap 所包含的目录结构
- 部署环境中不想运行完整 composer install,只刷新自动加载
何时需要执行?
以下情况建议运行 composer dump-autoload:
- 你在 composer.json 中手动添加或修改了 "autoload" 字段,例如:
"autoload": { "psr-4": { "App\": "src/" } }修改后必须执行该命令,否则新命名空间不会生效。 - 你新增了大量类文件,而这些文件位于 classmap 指定的目录中(如测试文件、命令类等)
- 在生产环境部署时,为了提升性能,可以使用 --optimize 或 -o 参数生成更高效的自动加载文件:
composer dump-autoload -o
- 遇到 “Class not found” 错误,且确认类文件存在、命名空间正确时,可尝试刷新自动加载
常用参数
- -o / --optimize:生成优化的自动加载器,将所有类的路径写入一张静态映射表,提升性能
:启用 APCU 缓存(适合生产环境高并发场景) - --no-dev:忽略开发依赖的自动加载(通常与 -o 一起用于生产环境)

















