/** * Post inject procedure * * @param object $object * @param BoundDefinition $definition */ private function postInject($object, BoundDefinition $definition) { // set life cycle if ($definition) { $this->setLifeCycle($object, $definition); } // set singleton object if ($definition->isSingleton) { $this->container->set($definition->interface, $object); } }
/** * @param \ArrayObject $bindings * @param string $class * * @return object */ private function getToProviderBound(\ArrayObject $bindings, $class) { $provider = $bindings[$class]['*']['to'][1]; $in = isset($bindings[$class]['*']['in']) ? $bindings[$class]['*']['in'] : null; if ($in !== Scope::SINGLETON) { $instance = $this->injector->getInstance($provider)->get(); return $instance; } if ($this->container->has($class)) { return $this->container->get($class); } $instance = $this->injector->getInstance($provider)->get(); $this->container->set($class, $instance); return $instance; }