* @copyright Since 2007 PrestaShop SA and Contributors * @license https://opensource.org/licenses/AFL-3.0 Academic Free License version 3.0 */ declare(strict_types=1); namespace PrestaShop\Module\Mbo\Distribution\Config\Appliers; final class Factory { /** * @var ConfigApplierInterface[] */ private $configAppliers = []; public function __construct(array $configAppliers) { foreach ($configAppliers as $configApplier) { if ($configApplier instanceof ConfigApplierInterface) { $this->configAppliers[] = $configApplier; } } } /** * @param string $configKey * * @return ConfigApplierInterface|null */ public function get(string $configKey): ?ConfigApplierInterface { foreach ($this->configAppliers as $configApplier) { if ($configApplier->supports($configKey)) { return $configApplier; } } return null; } }