Ejemplo n.º 1
0
 /**
  * {@inheritdoc}
  */
 public function get($alias, array $args = [])
 {
     if ($this->hasShared($alias)) {
         return $this->inflectors->inflect($this->shared[$alias]);
     }
     if ($this->hasSharedDefinition($alias)) {
         $shared = $this->inflectors->inflect($this->sharedDefinitions[$alias]->build());
         $this->shared[$alias] = $shared;
         return $shared;
     }
     if ($this->providers->provides($alias)) {
         $this->providers->register($alias);
     }
     if (array_key_exists($alias, $this->definitions)) {
         return $this->inflectors->inflect($this->definitions[$alias]->build($args));
     }
     if ($resolved = $this->getFromDelegate($alias, $args)) {
         return $this->inflectors->inflect($resolved);
     }
     throw new NotFoundException(sprintf('Alias (%s) is not being managed by the container', $alias));
 }
Ejemplo n.º 2
0
 /**
  * Get a service that has been registered in this container.
  *
  * @param  string $alias
  * @param  array $args
  * @return mixed
  */
 protected function getFromThisContainer($alias, array $args = [])
 {
     if ($this->hasShared($alias, true)) {
         return $this->inflectors->inflect($this->shared[$alias]);
     }
     if (array_key_exists($alias, $this->sharedDefinitions)) {
         $shared = $this->inflectors->inflect($this->sharedDefinitions[$alias]->build());
         $this->shared[$alias] = $shared;
         return $shared;
     }
     if (array_key_exists($alias, $this->definitions)) {
         return $this->inflectors->inflect($this->definitions[$alias]->build($args));
     }
     return false;
 }