* Aggregates several cache warmers into a single one.
*
* @author Fabien Potencier <fabien@symfony.com>
* Aggregates several cache warmers into a single one.
*
* @author Fabien Potencier <fabien@symfony.com>
+ *
+ * @final since version 3.4
*/
class CacheWarmerAggregate implements CacheWarmerInterface
{
protected $warmers = array();
protected $optionalsEnabled = false;
*/
class CacheWarmerAggregate implements CacheWarmerInterface
{
protected $warmers = array();
protected $optionalsEnabled = false;
+ private $triggerDeprecation = false;
- public function __construct(array $warmers = array())
+ public function __construct($warmers = array())
{
foreach ($warmers as $warmer) {
$this->add($warmer);
}
{
foreach ($warmers as $warmer) {
$this->add($warmer);
}
+ $this->triggerDeprecation = true;
}
public function enableOptionalWarmers()
}
public function enableOptionalWarmers()
@@ -59,16+63,28 @@ class CacheWarmerAggregate implements CacheWarmerInterface
return false;
}
return false;
}
+ /**
+ * @deprecated since version 3.4, to be removed in 4.0, inject the list of clearers as a constructor argument instead.
+ */
public function setWarmers(array $warmers)
{
public function setWarmers(array $warmers)
{
+ @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);
+
$this->warmers = array();
foreach ($warmers as $warmer) {
$this->add($warmer);
}
}
$this->warmers = array();
foreach ($warmers as $warmer) {
$this->add($warmer);
}
}
+ /**
+ * @deprecated since version 3.4, to be removed in 4.0, inject the list of clearers as a constructor argument instead.
+ */
public function add(CacheWarmerInterface $warmer)
{
public function add(CacheWarmerInterface $warmer)
{
+ if ($this->triggerDeprecation) {
+ @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);