Skip to content

🛠️ DumpAutoloadWithOptions

使用自定义选项映射生成自动加载文件,是 DumpAutoload 的灵活变体。

何时使用

当需要同时指定 --optimize--classmap-authoritative--apcu--no-dev 等多个选项,单布尔参数的 DumpAutoload 不足以表达时使用。

签名

go
func (c *Composer) DumpAutoloadWithOptions(options map[string]string) error

参数

参数类型说明
optionsmap[string]string自动加载选项映射;键为选项名(不带 --),值为选项值,布尔型选项传空字符串

返回值

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)
	}

	// 生产环境极致优化组合
	options := map[string]string{
		"optimize":             "",
		"classmap-authoritative": "",
		"apcu":                 "",
		"no-dev":               "",
	}
	if err := comp.DumpAutoloadWithOptions(options); err != nil {
		log.Fatalf("生成自动加载文件失败: %v", err)
	}

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

进阶

  • --classmap-authoritative 要求类映射完整准确,建议配合 --optimize 使用。
  • --apcu 需要 PHP 安装 APCu 扩展,否则会被忽略。
  • 仅需优化开关的简单场景用 DumpAutoload 更直观。

基于 MIT 许可证发布