diff --git a/core/Router.php b/core/Router.php index da4ce59..2e76c70 100644 --- a/core/Router.php +++ b/core/Router.php @@ -4,6 +4,8 @@ namespace Core; require_once '../app/api/ReportController.php'; +use Psr\Container\ContainerInterface; +use DI\Container; use Nyholm\Psr7\Response; use Psr\Http\Message\ResponseInterface; use Psr\Http\Message\ServerRequestInterface; @@ -12,8 +14,10 @@ use Nyholm\Psr7Server\ServerRequestCreatorInterface; class Router { + + protected $routes = []; - public function __construct() {} + public function __construct(protected ContainerInterface $container ) {} public function setRoute($method, $uri, $action) { @@ -71,7 +75,7 @@ class Router return new Response(500, ['Content-Type' => 'application/json', 'Accept' => 'application/json'], json_encode(['error' => 'Recurso não foi encontrado'])); } - $controllerInstance = new $controllerClass(); + $controllerInstance = $this->container->get($controllerClass); if (empty($queryParams)) { return new Response(403, ['Content-Type' => 'application/json', 'Accept' => 'application/json'], json_encode(['error' => 'O parâmetro de data não foi enviado.']));