19 declare(strict_types=1);
30 private static array $services = [];
32 private function get(
string $class_name):
object 34 if (!$this->
has($class_name)) {
35 self::$services[$class_name] =
new $class_name();
38 return self::$services[$class_name];
43 if (!$this->
has($class_name)) {
44 self::$services[$class_name] =
new $class_name($argument);
47 return self::$services[$class_name];
52 if (!$this->
has($class_name)) {
55 self::$services[$class_name] = $i->newInstanceArgs($arguments);
58 return self::$services[$class_name];
61 private function has(
string $class_name): bool
63 return isset(self::$services[$class_name]);
getWithMultipleArguments(string $class_name, array $arguments)
PhpIncompatibleReturnTypeInspection
getWithArgument(string $class_name, $argument)