- Add DISCOVERY_LOG_LEVEL=debug - Add DISCOVERY_SHOW_PROGRESS=true - Temporary changes for debugging InitializerProcessor fixes on production
30 lines
750 B
PHP
30 lines
750 B
PHP
<?php
|
|
|
|
declare(strict_types=1);
|
|
|
|
namespace App\Framework\Core;
|
|
|
|
final readonly class AttributeMapperLocator
|
|
{
|
|
private InterfaceImplementationLocator $locator;
|
|
|
|
public function __construct()
|
|
{
|
|
$this->locator = new InterfaceImplementationLocator();
|
|
}
|
|
|
|
/**
|
|
* Findet alle Klassen, die das AttributeMapper-Interface implementieren
|
|
*
|
|
* @param string $directory Das Basisverzeichnis, in dem gesucht werden soll
|
|
* @return AttributeMapper[] Array von AttributeMapper-Instanzen
|
|
*/
|
|
public function locateMappers(string $directory): array
|
|
{
|
|
/** @var AttributeMapper[] $mappers */
|
|
$mappers = $this->locator->locate($directory, AttributeMapper::class);
|
|
|
|
return $mappers;
|
|
}
|
|
}
|