* * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace Symfony\Bundle\FrameworkBundle\Command; use Psr\Cache\CacheItemPoolInterface; use Symfony\Component\Console\Exception\InvalidArgumentException; use Symfony\Component\Console\Input\InputInterface; use Symfony\Component\Console\Input\InputArgument; use Symfony\Component\Console\Output\OutputInterface; use Symfony\Component\Console\Style\SymfonyStyle; use Symfony\Component\HttpKernel\CacheClearer\Psr6CacheClearer; /** * Clear cache pools. * * @author Nicolas Grekas
*/
final class CachePoolClearCommand extends ContainerAwareCommand
{
protected static $defaultName = 'cache:pool:clear';
private $poolClearer;
/**
* @param Psr6CacheClearer $poolClearer
*/
public function __construct($poolClearer = null)
{
if (!$poolClearer instanceof Psr6CacheClearer) {
@trigger_error(sprintf('%s() expects an instance of "%s" as first argument since Symfony 3.4. Not passing it is deprecated and will throw a TypeError in 4.0.', __METHOD__, Psr6CacheClearer::class), E_USER_DEPRECATED);
parent::__construct($poolClearer);
return;
}
parent::__construct();
$this->poolClearer = $poolClearer;
}
/**
* {@inheritdoc}
*/
protected function configure()
{
$this
->setDefinition(array(
new InputArgument('pools', InputArgument::IS_ARRAY | InputArgument::REQUIRED, 'A list of cache pools or cache pool clearers'),
))
->setDescription('Clears cache pools')
->setHelp(<<<'EOF'
The