| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657 | <?php/* * This file is part of the Symfony package. * * (c) Fabien Potencier <fabien@symfony.com> * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */namespace Symfony\Component\Translation\Extractor;use Symfony\Component\Translation\MessageCatalogue;/** * ChainExtractor extracts translation messages from template files. * * @author Michel Salib <michelsalib@hotmail.com> */class ChainExtractor implements ExtractorInterface{    /**     * The extractors.     *     * @var ExtractorInterface[]     */    private $extractors = [];    /**     * Adds a loader to the translation extractor.     */    public function addExtractor(string $format, ExtractorInterface $extractor)    {        $this->extractors[$format] = $extractor;    }    /**     * {@inheritdoc}     */    public function setPrefix(string $prefix)    {        foreach ($this->extractors as $extractor) {            $extractor->setPrefix($prefix);        }    }    /**     * {@inheritdoc}     */    public function extract($directory, MessageCatalogue $catalogue)    {        foreach ($this->extractors as $extractor) {            $extractor->extract($directory, $catalogue);        }    }}
 |