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

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

public exists ( string $keyName = null, string $lifetime = null ) : boolean
$keyName string
$lifetime string
Результат boolean
    public function exists($keyName = null, $lifetime = null)
    {
        $prefixedKey = $this->getPrefixedIdentifier($keyName);
        $sql = "SELECT lifetime FROM {$this->table} WHERE key_name = ?";
        $cache = $this->db->fetchOne($sql, Db::FETCH_ASSOC, [$prefixedKey]);
        if (!$cache) {
            return false;
        }
        // Remove the cache if expired
        if ($cache['lifetime'] < time()) {
            $this->db->execute("DELETE FROM {$this->table} WHERE key_name = ?", [$prefixedKey]);
            return false;
        }
        return true;
    }

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));
     }
 }