Chris@0: Chris@0: * Chris@0: * For the full copyright and license information, please view the LICENSE Chris@0: * file that was distributed with this source code. Chris@0: */ Chris@0: Chris@0: namespace Symfony\Component\HttpKernel\CacheClearer; Chris@0: Chris@0: /** Chris@0: * ChainCacheClearer. Chris@0: * Chris@0: * @author Dustin Dobervich Chris@14: * Chris@14: * @final since version 3.4 Chris@0: */ Chris@0: class ChainCacheClearer implements CacheClearerInterface Chris@0: { Chris@0: protected $clearers; Chris@0: Chris@0: /** Chris@0: * Constructs a new instance of ChainCacheClearer. Chris@0: * Chris@0: * @param array $clearers The initial clearers Chris@0: */ Chris@17: public function __construct($clearers = []) Chris@0: { Chris@0: $this->clearers = $clearers; Chris@0: } Chris@0: Chris@0: /** Chris@0: * {@inheritdoc} Chris@0: */ Chris@0: public function clear($cacheDir) Chris@0: { Chris@0: foreach ($this->clearers as $clearer) { Chris@0: $clearer->clear($cacheDir); Chris@0: } Chris@0: } Chris@0: Chris@0: /** Chris@0: * Adds a cache clearer to the aggregate. Chris@0: * Chris@14: * @deprecated since version 3.4, to be removed in 4.0, inject the list of clearers as a constructor argument instead. Chris@0: */ Chris@0: public function add(CacheClearerInterface $clearer) Chris@0: { Chris@14: @trigger_error(sprintf('The "%s()" method is deprecated since Symfony 3.4 and will be removed in 4.0, inject the list of clearers as a constructor argument instead.', __METHOD__), E_USER_DEPRECATED); Chris@14: Chris@0: $this->clearers[] = $clearer; Chris@0: } Chris@0: }