Skip to content

🧩 DumpAutoload

Generates or regenerates Composer's autoloader files, optionally optimizing the class map.

When to use

Use it when you have manually modified package code, added new class files, or want to generate an optimized autoloader before a production deployment. Equivalent to running composer dump-autoload [--optimize].

Signature

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

Parameters

ParameterTypeDescription
optimizeboolWhen true, generates an optimized class map (converting PSR-4/PSR-0 to a classmap), speeding up class loading in production

Return value

error: returns the corresponding error message if an error occurs while generating the autoloader files; nil on success.

Example

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("initialization failed: %v", err)
	}

	// Development: generate a standard autoloader (fast, incremental)
	if err := comp.DumpAutoload(false); err != nil {
		log.Fatalf("failed to generate autoloader: %v", err)
	}

	// Production: generate an optimized autoloader
	if err := comp.DumpAutoload(true); err != nil {
		log.Fatalf("failed to generate optimized autoloader: %v", err)
	}

	fmt.Println("Autoloader files generated")
}

Advanced

  • When you need to specify multiple options such as --classmap-authoritative, --apcu, and --no-dev at once, use DumpAutoloadWithOptions.
  • Composer typically runs dump-autoload automatically after installing/updating dependencies, so manual invocation is unnecessary; you only need to trigger it explicitly after manually changing code.

Released under the MIT License