Nesta aula, daremos continuidade ao desenvolvimento do módulo de produtos, focando na implementação da parte backend. Iremos criar a classe Produto para gerenciar as operações de inserção (e futuramente, listagem, atualização e exclusão) e desenvolver o controlador produtoController.php que receberá os dados do formulário (implementado na Aula 10) e fará a comunicação com o banco de dados.
1. Criação da Classe Produto
A classe Produto ficará na pasta Classes e será responsável por todas as operações relacionadas aos produtos. Inicialmente, iremos implementar o método de cadastro (inserção) dos produtos.
1.1. Código da Classe Produto
Crie o arquivo Produto.php na pasta Classes com o seguinte conteúdo:
Explicação:
Conexão e Tabela: A classe utiliza uma conexão recebida pelo construtor e define a tabela
produtosdo banco de dados.Cadastro com Prepared Statement: O método
cadastrarutiliza prepared statements para prevenir SQL Injection e insere os dados na tabela, registrando a data automaticamente comNOW().
2. Criação do Controlador de Produtos
O controlador produtoController.php ficará na pasta Controllers e será responsável por receber os dados do formulário de cadastro (da Aula 10) e utilizar a classe Produto para inserir as informações no banco de dados.
2.1. Código do Controlador
Crie o arquivo produtoController.php na pasta Controllers com o seguinte conteúdo:
Explicação:
Sessão para Feedback: A sessão é iniciada para armazenar mensagens que serão exibidas ao usuário após as operações (como sucesso ou erro).
Validação: O código verifica se todos os campos obrigatórios foram enviados.
Processamento: Se a validação for bem-sucedida, o controlador cria a conexão com o banco e instancia a classe Produto para cadastrar o novo produto.
Redirecionamento: Dependendo do resultado da operação, o usuário é redirecionado para a página de listagem ou para o formulário de cadastro novamente, com uma mensagem de feedback armazenada na sessão.
3. Conclusão da Aula
Nesta aula, implementamos o backend do módulo de produtos:
A Classe Produto: Responsável por gerenciar a inserção dos produtos no banco de dados.
O Controlador
produtoController.php: Responsável por receber os dados do formulário, validar as informações, utilizar a classe Produto para executar a operação e, por fim, redirecionar o usuário com uma mensagem de feedback.
Na próxima aula, avançaremos para a criação das views de listagem, edição e exclusão de produtos, completando o ciclo CRUD deste novo módulo.
