]> git.mxchange.org Git - friendica.git/blobdiff - src/Console/Cache.php
Fix usage
[friendica.git] / src / Console / Cache.php
index e2e1dba6c01f8932279a275c8c48fd5cd0f1f8dd..049ffd0ffb39825e2606efe8b07d863f70f2fe5f 100644 (file)
@@ -1,20 +1,38 @@
 <?php
+/**
+ * @copyright Copyright (C) 2010-2021, the Friendica project
+ *
+ * @license GNU AGPL version 3 or any later version
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program.  If not, see <https://www.gnu.org/licenses/>.
+ *
+ */
 
 namespace Friendica\Console;
 
 use Asika\SimpleConsole\CommandArgsException;
 use Friendica\App;
-use Friendica\Core;
+use Friendica\Core\Cache\Duration;
+use Friendica\Core\Cache\ICache;
 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 <hypolite@mrpetovan.com>
  */
 class Cache extends \Asika\SimpleConsole\Console
 {
@@ -25,6 +43,11 @@ class Cache extends \Asika\SimpleConsole\Console
         */
        private $appMode;
 
+       /**
+        * @var ICache
+        */
+       private $cache;
+
        protected function getHelp()
        {
                $help = <<<HELP
@@ -59,11 +82,12 @@ HELP;
                return $help;
        }
 
-       public function __construct(App\Mode $appMode, array $argv = null)
+       public function __construct(App\Mode $appMode, ICache $cache, array $argv = null)
        {
                parent::__construct($argv);
 
                $this->appMode = $appMode;
+               $this->cache   = $cache;
        }
 
        protected function doExecute()
@@ -79,11 +103,9 @@ HELP;
                        $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)) {
@@ -115,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:');
@@ -135,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 {
@@ -147,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}");
                        }
@@ -168,7 +190,7 @@ HELP;
 
        private function executeFlush()
        {
-               $result = Core\Cache::clear();
+               $result = $this->cache->clear();
                if ($result) {
                        $this->out('Cache successfully flushed');
                } else {
@@ -178,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 {