| Conditions | 5 | 
| Paths | 3 | 
| Total Lines | 19 | 
| Code Lines | 10 | 
| Lines | 0 | 
| Ratio | 0 % | 
| Changes | 1 | ||
| Bugs | 0 | Features | 0 | 
| 1 | <?php  | 
            ||
| 28 | public static function instance(string $class)  | 
            ||
| 29 | 	{ | 
            ||
| 30 | $class = static::$container[$class] ?? $class;  | 
            ||
| 31 | |||
| 32 | 		if (!key_exists($class, static::$instances)) { | 
            ||
| 33 | $args = [];  | 
            ||
| 34 | $con = (new ReflectionClass($class))->getConstructor();  | 
            ||
| 35 | /** @var ReflectionParameter[] $params */  | 
            ||
| 36 | $params = $con ? $con->getParameters() : [];  | 
            ||
| 
                                                                                                    
                         1 ignored issue 
                            –
                            show
                         | 
                |||
| 37 | |||
| 38 | 			foreach ($params as $param) { | 
            ||
| 39 | 				if ($param->getType()) { | 
            ||
| 40 | $args[] = static::instance($param->getType()->getName());  | 
            ||
| 41 | }  | 
            ||
| 42 | }  | 
            ||
| 43 | static::$instances[$class] = new $class(...$args);  | 
            ||
| 44 | }  | 
            ||
| 45 | |||
| 46 | return static::$instances[$class];  | 
            ||
| 47 | }  | 
            ||
| 49 |