Files
michaelschiemer/src/Framework/Core/ImplementationLocator.md

614 B


// Beispiel: Alle Repository-Implementierungen finden
$locator = new InterfaceImplementationLocator();
$repositories = $locator->locate(__DIR__ . '/../src', Repository::class);

// Beispiel: Alle EventListener-Implementierungen finden, ohne sie zu instanziieren
$eventListeners = $locator->locate(__DIR__ . '/../src', EventListener::class, false);

// Beispiel: Mit einem Factory-Pattern verwenden
$serviceClasses = $locator->locate(__DIR__ . '/../src', Service::class, false);
$services = [];
foreach ($serviceClasses as $serviceClass) {
    $services[] = $serviceFactory->create($serviceClass);
}