107 lines
2.2 KiB
PHP
107 lines
2.2 KiB
PHP
![]() |
<?php
|
||
|
|
||
|
/*
|
||
|
* This file is part of the Symfony package.
|
||
|
*
|
||
|
* (c) Fabien Potencier <fabien@symfony.com>
|
||
|
*
|
||
|
* For the full copyright and license information, please view the LICENSE
|
||
|
* file that was distributed with this source code.
|
||
|
*/
|
||
|
|
||
|
namespace Symfony\Polyfill\Apcu;
|
||
|
|
||
|
/**
|
||
|
* Apcu for Zend Server Data Cache.
|
||
|
*
|
||
|
* @author Kate Gray <opensource@codebykate.com>
|
||
|
* @author Nicolas Grekas <p@tchwork.com>
|
||
|
*
|
||
|
* @internal
|
||
|
*/
|
||
|
final class Apcu
|
||
|
{
|
||
|
public static function apcu_add($key, $var = null, $ttl = 0)
|
||
|
{
|
||
|
if (!\is_array($key)) {
|
||
|
return apc_add($key, $var, $ttl);
|
||
|
}
|
||
|
|
||
|
$errors = array();
|
||
|
foreach ($key as $k => $v) {
|
||
|
if (!apc_add($k, $v, $ttl)) {
|
||
|
$errors[$k] = -1;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
return $errors;
|
||
|
}
|
||
|
|
||
|
public static function apcu_store($key, $var = null, $ttl = 0)
|
||
|
{
|
||
|
if (!\is_array($key)) {
|
||
|
return apc_store($key, $var, $ttl);
|
||
|
}
|
||
|
|
||
|
$errors = array();
|
||
|
foreach ($key as $k => $v) {
|
||
|
if (!apc_store($k, $v, $ttl)) {
|
||
|
$errors[$k] = -1;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
return $errors;
|
||
|
}
|
||
|
|
||
|
public static function apcu_exists($keys)
|
||
|
{
|
||
|
if (!\is_array($keys)) {
|
||
|
return apc_exists($keys);
|
||
|
}
|
||
|
|
||
|
$existing = array();
|
||
|
foreach ($keys as $k) {
|
||
|
if (apc_exists($k)) {
|
||
|
$existing[$k] = true;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
return $existing;
|
||
|
}
|
||
|
|
||
|
public static function apcu_fetch($key, &$success = null)
|
||
|
{
|
||
|
if (!\is_array($key)) {
|
||
|
return apc_fetch($key, $success);
|
||
|
}
|
||
|
|
||
|
$succeeded = true;
|
||
|
$values = array();
|
||
|
foreach ($key as $k) {
|
||
|
$v = apc_fetch($k, $success);
|
||
|
if ($success) {
|
||
|
$values[$k] = $v;
|
||
|
} else {
|
||
|
$succeeded = false;
|
||
|
}
|
||
|
}
|
||
|
$success = $succeeded;
|
||
|
|
||
|
return $values;
|
||
|
}
|
||
|
|
||
|
public static function apcu_delete($key)
|
||
|
{
|
||
|
if (!\is_array($key)) {
|
||
|
return apc_delete($key);
|
||
|
}
|
||
|
|
||
|
$success = true;
|
||
|
foreach ($key as $k) {
|
||
|
$success = apc_delete($k) && $success;
|
||
|
}
|
||
|
|
||
|
return $success;
|
||
|
}
|
||
|
}
|