Example #1
0
 /**
  * Getting gateway object for entity
  *
  * @param string $entityClass
  * @return Gateway
  * @throws \Exception
  */
 public function getGateway($entityClass)
 {
     $entityClass = ltrim($entityClass, '\\');
     if ($this->gateways[$entityClass]) {
         return $this->gateways[$entityClass];
     }
     $entityAnalyzer = new EntityAnalyzer($entityClass, $this->cacheManager->getArrayCache('meta_' . get_class($this) . '_' . $entityClass, 86400));
     $engines = self::engines();
     $gatewayClass = $engines[$entityAnalyzer->gateway()];
     if (!$gatewayClass || !class_exists($gatewayClass)) {
         throw new \Exception('Not found data gateway for entity `' . $entityClass . '`');
     }
     $this->gateways[$entityClass] = new $gatewayClass($this, $entityAnalyzer);
     return $this->gateways[$entityClass];
 }
Example #2
0
 /**
  * @return string
  */
 protected function getEntityClass()
 {
     return $this->analyzer->getClass();
 }