Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Erro ao inves de alterar o curso esta salvando

Não sei porque mas ao inves de alterar o curso ele esta inserindo um novo ,Pode ser um erro bobo mas não estou conseguindo descobrir

Codigo de alterar 
<?php

namespace Douglas\Cursos\Controller;

use Douglas\Cursos\Entity\Curso;
use Douglas\Cursos\Infra\EntityManagerCreator;


class Alterar extends ControllerComHtml implements InterfaceControladorRequisicao
{

    /**
     * @var \Doctrine\Commom\Persistence\ObjectRepository
     */
    private $repositorioCursos;

    public function __construct()
    {
        $entityManager = (new EntityManagerCreator())
        ->getEntityManager();
        $this->repositorioCursos = $entityManager
        ->getRepository(Curso::class);

    }

    public function ProcessaRequisicao(): void
    {

        $id = filter_input(
            INPUT_GET,
            'id',
            FILTER_VALIDATE_INT);

        if (is_null($id) || $id === false) {
            header('Location: /listar-cursos');
            return;
        }

        $curso =  $this->repositorioCursos->find($id);    
        echo $this->renderizaHtml('cursos/formulario.php', 
            [
                'curso' => $curso,
                'titulo' => 'Alterar curso ' .$curso->getDescricao()
            ]);
    }

}

codigo do formulario

<?php require __DIR__ . '/../../view/inicio-html.php'; ?>
    <form action="/salvar-curso<?= isset($curso) ? '?$id=' .$curso->getId() : '' ?> " method="POST">
        <div class="form-group">
            <label for="descricao">Descrição</label>
            <input type="text" id="descricao" name="descricao" class="form-control" value="<?= isset($curso) ? $curso->getDescricao() : ''; ?>">
        </div>
        <button class="btn btn-primary">Salvar</button>
    </form>
<?php require __DIR__ . '/../../view/fim-html.php'; ?>
1 resposta
solução!

Olá, Luiz.

Como está seu Controller de persistência?

Outro detalhe importante: Seu método do controller de exibir o formulário de alterar está começando com letra maiúscula. Isso vai contra os padrões que estamos utilizando no treinamento (PSR-12).