Example #1
0
 public function createGraph($type, $graph)
 {
     $this->repository = new ClassRepository();
     $object = $this->top->create($type, [], $graph);
     $this->named_parameters = array();
     // in case the object didn't instantiate, for example from Value lifecycle
     $this->unnamed_parameters = [];
     return $object;
 }
Example #2
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;
 }