composer/class-map-generator
Generate PHP class maps by scanning directories for classes, interfaces, traits, and enums. Create a quick symbol-to-file map or use the generator for multi-path scans, sorting, and reporting ambiguous class definitions. MIT licensed; PHP 7.2+.
composer.json (e.g., for SaaS platforms like Laravel Nova or Laravel Jetstream), supporting the Laravel Package Development initiative.Feature::enabled('experimental') ? new ExperimentalClass() : ...).AnalyticsV2 vs. AnalyticsV1).php artisan migrate) exceed 500ms cold-start SLOs.composer dump-autoload.Laravel IDE Helper).composer dump-autoload --optimize is adequate.get_declared_classes() or OPcache for dynamic environments (e.g., Laravel Livewire).bootstrap/cache) may suffice for most apps.eval()) can’t be pre-scanned:
*"This package directly addresses [X]’s performance and scalability goals by eliminating autoloading delays in Laravel, with measurable ROI:
php artisan cold starts from 2s → 500ms for [Y] admin panel, boosting developer productivity by 30%.composer.json, cutting maintenance costs by 20%.*"We can use this to:
composer.json or core Laravel.*"This replaces manual composer dump-autoload tweaks with a programmable class scanner. Key use cases:
composer require composer/class-map-generator
$generator = new ClassMapGenerator();
$generator->scanPaths(storage_path('user_uploads'));
$map = $generator->getClassMap()->getMap();
foreach ($classMap->getAmbiguousClasses() as $symbol => $paths) {
log("Ambiguous: $symbol in " . implode(', ', $paths));
}
How to integrate:
composer.json:
"require": {
"composer/class-map-generator": "^1.7"
}
bootstrap/app.php or a service provider:
$classMap = ClassMapGenerator::createMap(app_path('Modules'));
// Cache or use dynamically.
```"
How can I help you explore Laravel packages today?