1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 |
- <?php
- /**
- * Copyright © Magento, Inc. All rights reserved.
- * See COPYING.txt for license details.
- */
- namespace Magento\Backend\Console\Command;
- use Symfony\Component\Console\Input\InputInterface;
- use Symfony\Component\Console\Output\OutputInterface;
- /**
- * @api
- * @since 100.0.2
- */
- abstract class AbstractCacheSetCommand extends AbstractCacheManageCommand
- {
- /**
- * Is enable cache or not
- *
- * @return bool
- */
- abstract protected function isEnable();
- /**
- * {@inheritdoc}
- */
- protected function execute(InputInterface $input, OutputInterface $output)
- {
- $isEnable = $this->isEnable();
- $types = $this->getRequestedTypes($input);
- $changedTypes = $this->cacheManager->setEnabled($types, $isEnable);
- if ($changedTypes) {
- $output->writeln('Changed cache status:');
- foreach ($changedTypes as $type) {
- $output->writeln(sprintf('%30s: %d -> %d', $type, !$isEnable, $isEnable));
- }
- } else {
- $output->writeln('There is nothing to change in cache status');
- }
- if (!empty($changedTypes) && $isEnable) {
- $this->cacheManager->clean($changedTypes);
- $output->writeln('Cleaned cache types:');
- $output->writeln(join(PHP_EOL, $changedTypes));
- }
- }
- }
|