1<?php 2 3/* 4 * This file is part of the Symfony package. 5 * 6 * (c) Fabien Potencier <fabien@symfony.com> 7 * 8 * For the full copyright and license information, please view the LICENSE 9 * file that was distributed with this source code. 10 */ 11 12namespace Symfony\Component\DependencyInjection\Compiler; 13 14use Symfony\Component\DependencyInjection\ContainerBuilder; 15 16/** 17 * A pass to automatically process extensions if they implement 18 * CompilerPassInterface. 19 * 20 * @author Wouter J <wouter@wouterj.nl> 21 */ 22class ExtensionCompilerPass implements CompilerPassInterface 23{ 24 /** 25 * {@inheritdoc} 26 */ 27 public function process(ContainerBuilder $container) 28 { 29 foreach ($container->getExtensions() as $extension) { 30 if (!$extension instanceof CompilerPassInterface) { 31 continue; 32 } 33 34 $extension->process($container); 35 } 36 } 37} 38