Пример #1
0
 /**
  * Retrieve an entity, throwing a NotFoundException if the entity is not found
  *
  * @param string $class_name
  * @param string $id
  * @param bool   $use_cache
  * @return object
  */
 public function retrieve($class_name, $id, $use_cache = true)
 {
     $this->validateId($id);
     if ($use_cache && $this->cache->exists($class_name, $id)) {
         return $this->cache->retrieve($class_name, $id);
     }
     $metadata = $this->mapper->getEntityMetadata($class_name);
     $serialised_data = $this->driver->retrieve($this->key_scheme->getEntityKey($metadata->getTableName(), $id));
     $writer = new Writer($metadata, $serialised_data, $this);
     $entity = $writer->getProxy();
     $this->cache->store($class_name, $id, $entity);
     return $entity;
 }
Пример #2
0
 /**
  * @dataProvider getCacheServices
  * @expectedException \Bravo3\Orm\Exceptions\NotFoundException
  * @param EntityCachingInterface $service
  */
 public function testStrategyException(EntityCachingInterface $service)
 {
     $service->retrieve(Product::class, '12345');
 }