AbstractBackend.php in Redis 7.3
File
lib/Redis/AbstractBackend.php
View source
<?php
abstract class Redis_AbstractBackend implements Redis_BackendInterface {
const KEY_SEPARATOR = ':';
private $prefix;
private $namespace;
private $client;
public function __construct($client, $namespace = null, $prefix = null) {
$this->client = $client;
$this->prefix = $prefix;
if (null !== $namespace) {
$this->namespace = $namespace;
}
}
public final function setClient($client) {
$this->client = $client;
}
public final function getClient() {
return $this->client;
}
public final function setPrefix($prefix) {
$this->prefix = $prefix;
}
public final function getPrefix() {
return $this->prefix;
}
public final function setNamespace($namespace) {
$this->namespace = $namespace;
}
public final function getNamespace() {
return $this->namespace;
}
public function getKey($parts = array()) {
$key = array();
if (null !== $this->prefix) {
$key[] = $this->prefix;
}
if (null !== $this->namespace) {
$key[] = $this->namespace;
}
if ($parts) {
if (is_array($parts)) {
foreach ($parts as $part) {
if ($part) {
$key[] = $part;
}
}
}
else {
$key[] = $parts;
}
}
return implode(self::KEY_SEPARATOR, array_filter($key));
}
}