19 declare(strict_types=1);
33 private static $services = [];
35 private function get(
string $class_name) :
object 37 if (!$this->
has($class_name)) {
38 self::$services[$class_name] =
new $class_name();
41 return self::$services[$class_name];
46 if (!$this->
has($class_name)) {
47 self::$services[$class_name] =
new $class_name($argument);
50 return self::$services[$class_name];
55 if (!$this->
has($class_name)) {
58 self::$services[$class_name] =
$i->newInstanceArgs($arguments);
61 return self::$services[$class_name];
64 private function has(
string $class_name) : bool
66 return isset(self::$services[$class_name]);
getWithMultipleArguments(string $class_name, array $arguments)
PhpIncompatibleReturnTypeInspection
getWithArgument(string $class_name, $argument)