Example #1
0
 public function instantiate(Context $context, $nesting, $graph = null)
 {
     $graph = $this->graph ?: ($graph ?: 'default');
     if (!isset($this->instance[$graph])) {
         $this->instance[$graph] = parent::instantiate($context->determineContext($this->class, $graph), $nesting, $graph);
     }
     return $this->instance[$graph];
 }
Example #2
0
 public function instantiate(Context $context, $nesting, $graph = null)
 {
     array_unshift($nesting, $this->class);
     $dependencies = $context->createDependencies($context->repository()->getConstructorParameters($this->class), $nesting, $graph);
     $instance = call_user_func_array(array(new \ReflectionClass($this->class), 'newInstance'), $dependencies);
     $context->invokeSetters($context, $nesting, $this->class, $instance, $graph);
     return $instance;
 }
Example #3
0
 function instantiate(Context $context, $nesting, $graph = null)
 {
     @session_start();
     if (!isset($_SESSION[$this->slot])) {
         array_unshift($nesting, $this->class);
         $dependencies = $context->createDependencies($context->repository()->getConstructorParameters($this->class), $nesting);
         $_SESSION[$this->slot] = call_user_func_array(array(new ReflectionClass($this->class), 'newInstance'), $dependencies);
     }
     return $_SESSION[$this->slot];
 }
Example #4
0
 public function instantiate(Context $context, $nesting, $graph = null)
 {
     $instances = [];
     foreach ($this->preferences as $preference) {
         if ($preference instanceof Lifecycle) {
             $preferContext = empty($preference->class) ? $context : $context->determineContext($preference->class, $graph);
             $instances[] = $preference->instantiate($preferContext, $nesting, $graph);
         } elseif (!is_string($preference)) {
             $instances[] = $preference;
         } else {
             $instances[] = $context->create($preference, $nesting, $graph);
         }
     }
     return $instances;
 }
Example #5
0
 public function determineContext($class, $grath = null)
 {
     if ($grath == 'default') {
         return $this->top;
     } else {
         return $this->top->determineContext($class, 'default');
     }
 }
Example #6
0
 /**
  * @return ClassRepository
  */
 function repository()
 {
     return $this->parent->repository();
 }
Example #7
0
 public function instantiate(Context $context, $nesting, $graph = null)
 {
     return parent::instantiate($context->determineContext($this->class, $this->graph), $nesting, $this->graph);
 }