14 private static $services = [];
22 private function get(
string $class_name)
24 if (!$this->
has($class_name)) {
25 self::$services[$class_name] =
new $class_name();
28 return self::$services[$class_name];
39 if (!$this->
has($class_name)) {
40 self::$services[$class_name] =
new $class_name($argument);
43 return self::$services[$class_name];
56 if (!$this->
has($class_name)) {
57 $i = new \ReflectionClass($class_name);
59 self::$services[$class_name] =
$i->newInstanceArgs($arguments);
62 return self::$services[$class_name];
71 private function has(
string $class_name) : bool
73 return isset(self::$services[$class_name]);
getWithMultipleArguments(string $class_name, array $arguments)
getWithArgument(string $class_name, $argument)