*/ private array $mappers; /** @var array */ private array $visitors; public function __construct(array $attributeMappers = []) { $this->mappers = $attributeMappers; $this->visitors = [ new AttributeVisitor($attributeMappers), ]; } public function getName(): string { return 'attributes'; } public function initialize(DiscoveryContext $context): void { // Reset visitors for new discovery foreach ($this->visitors as $visitor) { $visitor->reset(); } } public function finalize(DiscoveryContext $context, DiscoveryRegistry $registry): void { // Attributes are already in the registry, no finalization needed } public function getVisitors(): array { return $this->visitors; } public function isEnabled(DiscoveryContext $context): bool { // Always enabled unless explicitly disabled return true; } }