ApcCache.php in Plug 7
File
lib/Symfony/validator/Symfony/Component/Validator/Mapping/Cache/ApcCache.php
View source
<?php
namespace Symfony\Component\Validator\Mapping\Cache;
use Symfony\Component\Validator\Mapping\ClassMetadata;
class ApcCache implements CacheInterface {
private $prefix;
public function __construct($prefix) {
if (!extension_loaded('apc')) {
throw new \RuntimeException('Unable to use ApcCache to cache validator mappings as APC is not enabled.');
}
$this->prefix = $prefix;
}
public function has($class) {
if (!function_exists('apc_exists')) {
$exists = false;
apc_fetch($this->prefix . $class, $exists);
return $exists;
}
return apc_exists($this->prefix . $class);
}
public function read($class) {
return apc_fetch($this->prefix . $class);
}
public function write(ClassMetadata $metadata) {
apc_store($this->prefix . $metadata
->getClassName(), $metadata);
}
}