<?php declare(strict_types=1); /* * irstea/php-cs-fixer-config - Jeux de règles pour php-cs-fixer. * Copyright (C) 2018-2020 IRSTEA * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. * */ namespace Irstea\CS\HeaderComment; use Assert\Assertion; /** * Class ChainTemplateProvider. */ final class ChainTemplateProvider implements TemplateProviderInterface { /** * @var TemplateProviderInterface[] */ private $templateProviders; /** * ChainTemplateProvider constructor. * * @param TemplateProviderInterface[] $templateProviders */ public function __construct(array $templateProviders) { Assertion::allImplementsInterface($templateProviders, TemplateProviderInterface::class); $this->templateProviders = $templateProviders; } /** * {@inheritdoc} */ public function getTemplate(): ?string { foreach ($this->templateProviders as $templateProvider) { $template = $templateProvider->getTemplate(); if ($template) { return $template; } } return null; } }