Nette\DI\Container::getByType PHP Метод

getByType() публичный Метод

Resolves service by type.
public getByType ( $class, $need = TRUE ) : object
Результат object service or NULL
    public function getByType($class, $need = TRUE)
    {
        $class = ltrim($class, '\\');
        if (!empty($this->meta[self::TYPES][$class][TRUE])) {
            if (count($names = $this->meta[self::TYPES][$class][TRUE]) === 1) {
                return $this->getService($names[0]);
            }
            throw new MissingServiceException("Multiple services of type {$class} found: " . implode(', ', $names) . '.');
        } elseif ($need) {
            throw new MissingServiceException("Service of type {$class} not found.");
        }
    }

Usage Example

Пример #1
0
 /**
  * @return \Nette\Security\User
  */
 private function getUser()
 {
     if (!$this->user) {
         $this->user = $this->container->getByType(User::class);
     }
     return $this->user;
 }
All Usage Examples Of Nette\DI\Container::getByType