corso https://vola.udemy.com/course/php-mvc-from-scratch/learn/lecture/40931984#overview
filippo.bertilotti
2024-05-14 2bddb6faf9aeddf40602187c57c421da8ded5c3e
commit | author | age
2bddb6 1 <?php
F 2
3 namespace Framework;
4 use ReflectionClass;
5
6 class Container {
7     public function get(string $class_name):object {
8         $reflector = new ReflectionClass($class_name);
9         $contructor = $reflector->getConstructor();
10
11         $dependencies = [];
12         
13         if($contructor === null) {
14             return new $class_name();
15         }
16
17         foreach($contructor->getParameters() as $param) {
18             $type = (string) $param->getType();
19             $dependencies[] = $this->get($type);
20         }
21         
22         return new $class_name(...$dependencies);
23     }
24 }