Phalcon\Cache\Backend\Database::get PHP Метод

get() публичный Метод

public get ( string $keyName, integer $lifetime = null ) : mixed | null
$keyName string
$lifetime integer
Результат mixed | null
    public function get($keyName, $lifetime = null)
    {
        $prefixedKey = $this->getPrefixedIdentifier($keyName);
        $sql = "SELECT data, lifetime FROM {$this->table} WHERE key_name = ?";
        $cache = $this->db->fetchOne($sql, Db::FETCH_ASSOC, [$prefixedKey]);
        $this->_lastKey = $prefixedKey;
        if (!$cache) {
            return null;
        }
        /** @var \Phalcon\Cache\FrontendInterface $frontend */
        $frontend = $this->getFrontend();
        // Remove the cache if expired
        if ($cache['lifetime'] < time()) {
            $this->db->execute("DELETE FROM {$this->table} WHERE key_name = ?", [$prefixedKey]);
            return null;
        }
        return $frontend->afterRetrieve($cache['data']);
    }

Usage Example

Пример #1
0
 protected function runTests(CacheBackend $backend, $lifetime = null)
 {
     $backend->save($this->key, $this->data, $lifetime);
     $this->assertTrue($backend->exists($this->key));
     $this->assertEquals($this->data, $backend->get($this->key));
     $this->assertNotEmpty($backend->queryKeys());
     $this->assertNotEmpty($backend->queryKeys('DB_'));
     $this->assertTrue($backend->delete($this->key));
     $this->assertFalse($backend->delete($this->key));
     if (null !== $lifetime) {
         $backend->save($this->key, $this->data, $lifetime);
         $this->assertTrue($backend->exists($this->key, $lifetime));
         $this->assertEquals($this->data, $backend->get($this->key, $lifetime));
         $backend->save($this->key, $this->data, -$lifetime);
         $this->assertFalse($backend->exists($this->key, -$lifetime));
     }
 }