예제 #1
0
 /**
  * {@inheritDoc}
  */
 public function newHydrator($hydrationMode)
 {
     switch ($hydrationMode) {
         case Query::HYDRATE_OBJECT:
             return new Internal\Hydration\ObjectHydrator($this);
         case Query::HYDRATE_ARRAY:
             return new Internal\Hydration\ArrayHydrator($this);
         case Query::HYDRATE_SCALAR:
             return new Internal\Hydration\ScalarHydrator($this);
         case Query::HYDRATE_SINGLE_SCALAR:
             return new Internal\Hydration\SingleScalarHydrator($this);
         case Query::HYDRATE_SIMPLEOBJECT:
             return new Internal\Hydration\SimpleObjectHydrator($this);
         default:
             if (($class = $this->config->getCustomHydrationMode($hydrationMode)) !== null) {
                 return new $class($this);
             }
     }
     throw ORMException::invalidHydrationMode($hydrationMode);
 }
예제 #2
0
 /**
  * Create a new instance for the given hydration mode.
  *
  * @param  int $hydrationMode
  * @return Doctrine\ORM\Internal\Hydration\AbstractHydrator
  */
 public function newHydrator($hydrationMode)
 {
     switch ($hydrationMode) {
         case Query::HYDRATE_OBJECT:
             $hydrator = new Internal\Hydration\ObjectHydrator($this);
             break;
         case Query::HYDRATE_ARRAY:
             $hydrator = new Internal\Hydration\ArrayHydrator($this);
             break;
         case Query::HYDRATE_SCALAR:
             $hydrator = new Internal\Hydration\ScalarHydrator($this);
             break;
         case Query::HYDRATE_SINGLE_SCALAR:
             $hydrator = new Internal\Hydration\SingleScalarHydrator($this);
             break;
         default:
             throw ORMException::invalidHydrationMode($hydrationMode);
     }
     return $hydrator;
 }