Sitema: Linux Mint Serividor: Nginx
Repositório com meu projeto: https://github.com/maurisfer/mvc-alura
Criei o roteamento conforme descrito nas aulas. No momento da exclusão, porém, quando é chamado a rota '/excluir-curso', o servidor me volta um erro devido ao indice do array que monta a classe no index não ter o parâmetro de id como é definido na âncora para capturar o id do curso:
index.php:
<?php
require __DIR__ .'/../vendor/autoload.php';
use Alura\Cursos\Controller\InterfaceControladorRequisicao;
$path = $_SERVER['REQUEST_URI'];
$routes = require __DIR__ .'/../config/routes.php';
if (!array_key_exists($path, $routes)) {
http_response_code(404);
}
$controllerClass = $routes[$path];
$controller = new $controllerClass();
$controller->processaRequisicao();
routes.php:
<?php
use Alura\Cursos\Controller\Exclusao;
use Alura\Cursos\Controller\FormularioInsercao;
use Alura\Cursos\Controller\ListarCursos;
use Alura\Cursos\Controller\Persistencia;
return [
'/listar-cursos' => ListarCursos::class,
'/novo-curso' => FormularioInsercao::class,
'/salvar-curso' => Persistencia::class,
'/excluir-curso' => Exclusao::class
];
listar-cursos.php:
<?php include __DIR__ . '/../../view/header.phtml';?>
<a href="/novo-curso" class="btn btn-primary mb2">Novo curso</a>
<ul class="list-group">
<?php foreach ($cursos as $curso): ?>
<li class="list-group-item d-flex justify-content-between">
<?= $curso->getDescricao(); ?>
<a href="/excluir-curso?id=<?= $curso->getId();?>" class="btn btn-danger btn-sm">Excluir</a>
</li>
<?php endforeach; ?>
</ul>
<?php include __DIR__ . '/../../view/footer.phtml';?>
Erro na exclusão (Está caindo na validação feita no index que não identifica a rota e não chama o Controller por causa do paramêtro ?id='getId();?>':
Precisaria de ajuda para entender a ocorrência disso;