Skip to content

🧩 DumpAutoload

生成或重新生成 Composer 的自动加载文件,可选择是否优化类映射。

何时使用

当你手动修改了包代码、新增类文件,或希望在生产部署前生成优化后的自动加载器时使用。相当于执行 composer dump-autoload [--optimize]

签名

go
func (c *Composer) DumpAutoload(optimize bool) error

参数

参数类型说明
optimizebooltrue 时生成优化的类映射(conversion PSR-4/PSR-0 到 classmap),加快生产环境类加载

返回值

error:生成自动加载文件过程中发生错误时返回相应错误信息,成功时为 nil

示例

go
package main

import (
	"fmt"
	"log"

	"github.com/scagogogo/composer-skills/pkg/composer"
)

func main() {
	comp, err := composer.New(composer.DefaultOptions())
	if err != nil {
		log.Fatalf("初始化失败: %v", err)
	}

	// 开发环境:生成标准自动加载文件(快速、增量)
	if err := comp.DumpAutoload(false); err != nil {
		log.Fatalf("生成自动加载文件失败: %v", err)
	}

	// 生产环境:生成优化的自动加载文件
	if err := comp.DumpAutoload(true); err != nil {
		log.Fatalf("生成优化自动加载文件失败: %v", err)
	}

	fmt.Println("自动加载文件已生成")
}

进阶

  • 需要同时指定 --classmap-authoritative--apcu--no-dev 等多个选项时使用 DumpAutoloadWithOptions
  • 安装/更新依赖后 Composer 通常会自动执行一次 dump-autoload,无需手动调用;只有在手动改代码后才需要显式触发。

基于 MIT 许可证发布