* @copyright Since 2007 PrestaShop SA and Contributors * @license https://opensource.org/licenses/OSL-3.0 Open Software License (OSL 3.0) */ namespace PrestaShop\PrestaShop\Core\Cache\Clearer; /** * Class CacheClearerChain clears entire PrestaShop cache. */ final class CacheClearerChain implements CacheClearerInterface { /** * @var CacheClearerInterface[] */ private $cacheClearers; /** * @param CacheClearerInterface ...$cacheClearers */ public function __construct(CacheClearerInterface ...$cacheClearers) { $this->cacheClearers = $cacheClearers; } /** * {@inheritdoc} */ public function clear() { foreach ($this->cacheClearers as $cacheClearer) { $cacheClearer->clear(); } if (function_exists('opcache_reset')) { @opcache_reset(); } } }