Nesta aula, vamos iniciar a criação do novo módulo de produtos, que será integrado ao sistema existente de cadastro e login. Nosso objetivo é expandir as funcionalidades, permitindo que usuários autenticados possam gerenciar produtos (cadastrar, listar, editar e excluir). Também iremos revisar a estrutura do projeto para incluir um index.php principal – mesmo que este apenas redirecione para o login – e a inclusão de um arquivo header.php para padronizar a apresentação das Views.
1. Objetivos do Módulo de Produtos
Expandir as Funcionalidades: Desenvolver um dashboard onde o usuário possa realizar operações CRUD (Create, Read, Update, Delete) de produtos.
Integração com o Sistema Existente: Utilizar o mesmo banco de dados e padrão de programação (PHP orientado a objetos, MVC) que foi estabelecido nas aulas anteriores.
Interface Moderna e Responsiva: Aplicar o Bootstrap para construir uma interface intuitiva e organizada.
2. Estrutura do Projeto Atualizada
Nas aulas anteriores, o sistema foi organizado em pastas separadas para Classes, Controllers e Views, porém não havíamos criado um index.php principal. Agora, para centralizar o acesso, podemos criar um index.php que redirecione diretamente para a página de login. Além disso, vamos padronizar as views utilizando um header.php, que servirá como cabeçalho comum em todas as páginas do módulo.
2.1. Exemplo de Estrutura de Pastas
2.2. Exemplo de index.php
2.3. Padronização com header.php
Crie um arquivo header.php na pasta Views para incluir elementos comuns a todas as páginas, como o link do Bootstrap e as meta tags. Exemplo:
Vamos fazer a implementação em uma View. Abra o arquivo dasboard.php que está na pasta Views. Encontre a seção <head>, que deve se parecer com os códigos a seguir:
<!DOCTYPE html>
<html lang="pt-br">
<head>
<meta charset="UTF-8">
<title>Dashboard - Área Restrita</title>
<!-- Link para o Bootstrap -->
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/css/bootstrap.min.css">
<link rel="stylesheet" href="Assets/css/custom.css">
</head>Apague esses códigos e inclua o arquivo header.php dessa forma:
<?php
include 'header.php';
?>Faça esse processo nos próximos arquivos da pasta View.
3. Planejamento do Banco de Dados para Produtos
Como parte do planejamento, além do banco de dados já utilizado no sistema de usuários, criaremos uma tabela para armazenar produtos. A tabela pode ser criada no mesmo banco de dados com a seguinte estrutura:
Boas Práticas na Modelagem
Consistência: Utilize o mesmo padrão de nomenclatura e restrições (
NOT NULL,AUTO_INCREMENT) que usamos na tabela de usuários.Escalabilidade: Pensar em campos extras para futuras funcionalidades (por exemplo, categoria ou imagem do produto).
Com este planejamento detalhado, concluímos a Aula 9. Na próxima aula, daremos início à implementação prática, começando pela criação da interface de cadastro de produtos com Bootstrap, conforme planejado.
