X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=src%2FConsole%2FCache.php;h=c5537169938c6042a16c91a64546d1ced3327d7c;hb=d27576059670faf87f80eaae2b4560f85b5310fc;hp=eefb6cc60b1f422842a93c1383af399a89d620d8;hpb=4dcdc56e8173d6db3410014fa4c4ae3445a2436d;p=friendica.git diff --git a/src/Console/Cache.php b/src/Console/Cache.php index eefb6cc60b..c553716993 100644 --- a/src/Console/Cache.php +++ b/src/Console/Cache.php @@ -1,25 +1,53 @@ . + * + */ namespace Friendica\Console; use Asika\SimpleConsole\CommandArgsException; use Friendica\App; -use Friendica\Core; +use Friendica\Core\Cache\Enum\Duration; +use Friendica\Core\Cache\Capability\ICanCache; use RuntimeException; /** - * @brief tool to access the cache from the CLI + * tool to access the cache from the CLI * * With this script you can access the cache of your node from the CLI. * You can read current values stored in the cache and set new values * in cache keys. - * - * @author Hypolite Petovan */ class Cache extends \Asika\SimpleConsole\Console { protected $helpOptions = ['h', 'help', '?']; + /** + * @var App\Mode + */ + private $appMode; + + /** + * @var ICanCache + */ + private $cache; + protected function getHelp() { $help = <<appMode = $appMode; + $this->cache = $cache; + } + + protected function doExecute(): int + { if ($this->getOption('v')) { $this->out('Executable: ' . $this->executable); $this->out('Class: ' . __CLASS__); @@ -65,15 +99,13 @@ HELP; $this->out('Options: ' . var_export($this->options, true)); } - if ($a->getMode()->has(App\Mode::DBCONFIGAVAILABLE)) { + if (!$this->appMode->has(App\Mode::DBAVAILABLE)) { $this->out('Database isn\'t ready or populated yet, database cache won\'t be available'); } - Core\Cache::init(); - if ($this->getOption('v')) { - $this->out('Cache Driver Name: ' . Core\Cache::$driver_name); - $this->out('Cache Driver Class: ' . Core\Cache::$driver_class); + $this->out('Cache Driver Name: ' . $this->cache->getName()); + $this->out('Cache Driver Class: ' . get_class($this->cache)); } switch ($this->getArgument(0)) { @@ -105,7 +137,7 @@ HELP; private function executeList() { $prefix = $this->getArgument(1); - $keys = Core\Cache::getAllKeys($prefix); + $keys = $this->cache->getAllKeys($prefix); if (empty($prefix)) { $this->out('Listing all cache keys:'); @@ -125,8 +157,8 @@ HELP; private function executeGet() { if (count($this->args) >= 2) { - $key = $this->getArgument(1); - $value = Core\Cache::get($key); + $key = $this->getArgument(1); + $value = $this->cache->get($key); $this->out("{$key} => " . var_export($value, true)); } else { @@ -137,17 +169,17 @@ HELP; private function executeSet() { if (count($this->args) >= 3) { - $key = $this->getArgument(1); - $value = $this->getArgument(2); - $duration = intval($this->getArgument(3, Core\Cache::FIVE_MINUTES)); + $key = $this->getArgument(1); + $value = $this->getArgument(2); + $duration = intval($this->getArgument(3, Duration::FIVE_MINUTES)); - if (is_array(Core\Cache::get($key))) { + if (is_array($this->cache->get($key))) { throw new RuntimeException("$key is an array and can't be set using this command."); } - $result = Core\Cache::set($key, $value, $duration); + $result = $this->cache->set($key, $value, $duration); if ($result) { - $this->out("{$key} <= " . Core\Cache::get($key)); + $this->out("{$key} <= " . $this->cache->get($key)); } else { $this->out("Unable to set {$key}"); } @@ -158,7 +190,7 @@ HELP; private function executeFlush() { - $result = Core\Cache::clear(); + $result = $this->cache->clear(); if ($result) { $this->out('Cache successfully flushed'); } else { @@ -168,7 +200,7 @@ HELP; private function executeClear() { - $result = Core\Cache::clear(false); + $result = $this->cache->clear(false); if ($result) { $this->out('Cache successfully cleared'); } else {