From 21258313ef2f8da3a758e9c0dbb046a4b024bbce Mon Sep 17 00:00:00 2001 From: slawkens <slawkens@gmail.com> Date: Mon, 19 Jun 2023 08:01:11 +0200 Subject: [PATCH] New function Cache::remember($key, $ttl, $callback) --- system/libs/cache.php | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/system/libs/cache.php b/system/libs/cache.php index 880c33c7..55c17a17 100644 --- a/system/libs/cache.php +++ b/system/libs/cache.php @@ -110,4 +110,21 @@ class Cache * @return bool */ public function enabled() {return false;} + + public static function remember($key, $ttl, $callback) + { + $cache = self::getInstance(); + if(!$cache->enabled()) { + return $callback(); + } + + $value = null; + if ($cache->fetch($key, $value)) { + return unserialize($value); + } + + $value = $callback(); + $cache->set($key, serialize($value),$ttl); + return $value; + } }