composer install/update, eliminating runtime discovery overhead (e.g., get_declared_classes(), class_uses(), or Laravel’s app:discover). This aligns well with performance-critical Laravel applications (e.g., APIs, microservices) where class discovery is a bottleneck.bindIf(), when() conditions).App\Modules\*).autoload scans.Illuminate\Support\ServiceProvider hooks), with minimal friction for:
config/app.php or a dedicated provider.post-autoload-dump hook, which is standard but requires:
composer install --no-dev or composer update to regenerate the cache.ClassFinder, get_declared_classes()) remain functional.post-autoload-dump is skipped (e.g., in Docker builds with --no-install).post-install-cmd script in composer.json to enforce hook execution:
"scripts": {
"post-install-cmd": [
"HookPress\\HookPress::generateCache"
]
}
composer dump-autoload.config('hookpress.cache_lifetime') to set short TTLs (e.g., 5 minutes) in dev environments.get_declared_traits()) may break.HookPress::disable() for isolated test suites.ClassFinder?composer dump-autoload is prohibited (e.g., serverless functions)?ClassFinder optimizations?bindIf() or when() conditions in AppServiceProvider.resolveCallback in middleware).composer require teofanis/hook-press
config/app.php:
'providers' => [
HookPress\HookPressServiceProvider::class,
],
config/hookpress.php:
'discoverables' => [
'classes' => ['App\Modules\\*\\Services\\*'],
'traits' => ['App\Traits\\*'],
'interfaces' => ['App\Contracts\\*'],
],
if (!HookPress::hasCache()) {
// Fallback to get_declared_classes()
}
composer.json hooks (e.g., Laravel Pint, Pest).composer dump-autoload runs in build stages.config/hookpress.php.cache_lifetime.php artisan hookpress:clear command to invalidate cache during deployments.post-deploy hooks or Forge/Envoyer scripts to regenerate cache.config/hookpress.php may diverge across environments.spatie/laravel-config-array) for dynamic filtering rules.composer.json until adoption is widespread.How can I help you explore Laravel packages today?