This repository has been archived on 2023-08-20. You can view files and clone it, but cannot push or open issues or pull requests.
symfony/src/Symfony/Component/Validator/Mapping/Cache/ApcCache.php

36 lines
783 B
PHP
Raw Normal View History

<?php
namespace Symfony\Component\Validator\Mapping\Cache;
use Symfony\Component\Validator\Mapping\ClassMetadata;
class ApcCache implements CacheInterface
{
public function has($class)
{
apc_delete($this->computeCacheKey($class));
apc_fetch($this->computeCacheKey($class), $exists);
return $exists;
}
public function read($class)
{
if (!$this->has($class)) {
// TODO exception
}
return apc_fetch($this->computeCacheKey($class));
}
public function write(ClassMetadata $metadata)
{
apc_store($this->computeCacheKey($metadata->getClassName()), $metadata);
}
protected function computeCacheKey($class)
{
return 'Symfony\Components\Validator:'.$class;
}
}