| | |
| | | |
| | | namespace Framework; |
| | | use ReflectionClass; |
| | | use Closure; |
| | | |
| | | class Container { |
| | | |
| | | private array $registry = []; |
| | | |
| | | public function set(string $name, $value) { |
| | | public function set(string $name, Closure $value): void { |
| | | $this->registry[$name] = $value; |
| | | } |
| | | public function get(string $class_name):object { |
| | | public function get(string $class_name): object { |
| | | if(array_key_exists($class_name, $this->registry)) { |
| | | return $this->registry[$class_name]; |
| | | return $this->registry[$class_name](); |
| | | } |
| | | $reflector = new ReflectionClass($class_name); |
| | | $contructor = $reflector->getConstructor(); |