This repository has been archived on 2023-08-20. You can view files and clone it, but cannot push or open issues or pull requests.
symfony/src/Symfony/Component/HttpKernel/CacheWarmer/CacheWarmerAggregate.php
Fabien Potencier 56b0139b0d Merge branch '2.3' into 2.4
* 2.3:
  Validate locales sets intos translator
  Fix UserPassword validator translation
  Remove Spaceless Blocks from Twig Form Templates
  fixed typo
  [HttpFoundation] Fix to prevent magic bytes injection in JSONP responses (Prevents CVE-2014-4671)
  added regression test
  fix issue #8171 on configuration tree for twig extension -- pairing up with @cordoval
  [HttpFoundation] Fix wrong assertion in Response test
  [Upgrade] Fixed markdown syntax
  [2.3][Form] Cleanup & fix phpdocs

Conflicts:
	src/Symfony/Bridge/Twig/Resources/views/Form/form_div_layout.html.twig
	src/Symfony/Component/Form/Extension/Core/ChoiceList/SimpleChoiceList.php
	src/Symfony/Component/HttpFoundation/Tests/ResponseTest.php
2014-07-15 16:07:10 +02:00

75 lines
1.6 KiB
PHP

<?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\HttpKernel\CacheWarmer;
/**
* Aggregates several cache warmers into a single one.
*
* @author Fabien Potencier <fabien@symfony.com>
*/
class CacheWarmerAggregate implements CacheWarmerInterface
{
protected $warmers = array();
protected $optionalsEnabled = false;
public function __construct(array $warmers = array())
{
foreach ($warmers as $warmer) {
$this->add($warmer);
}
}
public function enableOptionalWarmers()
{
$this->optionalsEnabled = true;
}
/**
* Warms up the cache.
*
* @param string $cacheDir The cache directory
*/
public function warmUp($cacheDir)
{
foreach ($this->warmers as $warmer) {
if (!$this->optionalsEnabled && $warmer->isOptional()) {
continue;
}
$warmer->warmUp($cacheDir);
}
}
/**
* Checks whether this warmer is optional or not.
*
* @return bool always false
*/
public function isOptional()
{
return false;
}
public function setWarmers(array $warmers)
{
$this->warmers = array();
foreach ($warmers as $warmer) {
$this->add($warmer);
}
}
public function add(CacheWarmerInterface $warmer)
{
$this->warmers[] = $warmer;
}
}