PHP 8 interview question · Most asked

How does Composer autoloading work, and what is PSR-4?

Summary

PSR-4 maps a namespace prefix to a base directory so App\Models\User loads from src/Models/User.php. Composer generates an autoloader from composer.json that requires files on first use.

Longer Answer

You configure "autoload": {"psr-4": {"App\\": "src/"}} and include vendor/autoload.php. Composer registers an spl_autoload_register callback. In production, run composer dump-autoload --optimize (or --classmap-authoritative) to generate a class map and avoid filesystem lookups.

Code Example

{
  "autoload": {
    "psr-4": { "App\\": "src/" }
  },
  "autoload-dev": {
    "psr-4": { "Tests\\": "tests/" }
  }
}

Key Points

  • Namespace prefix → directory mapping
  • vendor/autoload.php registers the loader
  • --optimize/-o builds a classmap for production
  • --classmap-authoritative skips filesystem fallback entirely

More most-asked PHP 8 questions

← All PHP 8 questions