$encoders */ public function __construct( private readonly iterable $encoders, ) { } /** * Itère sur les services d'encodage disponibles et * retourne le premier qui supporte ce type de requête. */ public function getEncoderFor(string $format): EncoderInterface { /** @var EncoderInterface $encoder */ foreach ($this->encoders as $encoder) { if ($encoder->support($format)) { return $encoder; } } throw new \RuntimeException('no encoder found for this export request'); } }