CAFÉ AURORA — WEB II — CHECKPOINT DO CAPÍTULO 5

Este checkpoint serve para conferência ou retomada depois da construção prática.
Ele inclui os capítulos anteriores e acrescenta a preparação do banco SQLite por meio de PDO.

COMO EXECUTAR
1. Abra a pasta cafe-aurora-web2 no VS Code.
2. Confira o PHP e os módulos no terminal:
   php -v
   php -m | findstr /I "PDO sqlite"
3. Verifique a sintaxe:
   php -l public/index.php
   php -l public/cardapio.php
   php -l public/contato.php
   php -l src/banco.php
   php -l src/inicializar-banco.php
4. Prepare o banco:
   php src/inicializar-banco.php
5. Confirme a mensagem:
   Banco e tabela preparados com sucesso.
   Mensagens cadastradas: 0
6. Inicie o servidor:
   php -S localhost:8000 -t public
7. Abra http://localhost:8000/contato.php no navegador.
8. Para encerrar, pressione Ctrl + C no terminal.

O QUE FOI ACRESCENTADO
- pasta dados fora da área pública;
- regras no .gitignore para não versionar o banco local;
- arquivo src/banco.php com a conexão PDO;
- DSN sqlite apontando para cafe-aurora.sqlite;
- modo de erro por exceção e retorno associativo;
- script src/inicializar-banco.php para preparar a estrutura;
- tabela mensagens com colunas, tipos, chave primária e restrições;
- criação repetível com CREATE TABLE IF NOT EXISTS;
- consulta de contagem para conferir o estado inicial.

CONFIRA
- pdo_sqlite aparece na lista de módulos;
- o arquivo dados/cafe-aurora.sqlite surge após a inicialização;
- executar o inicializador novamente não apaga nem duplica a tabela;
- a contagem inicial é zero;
- o arquivo do banco permanece fora de public;
- o formulário e os capítulos anteriores continuam funcionando.

IMPORTANTE
- SQLite é o banco desta etapa e PDO é a interface usada pelo PHP;
- não coloque o arquivo cafe-aurora.sqlite dentro de public;
- não publique o banco, mensagens, e-mails ou telefones em um repositório;
- as imagens WebP, a responsividade e a acessibilidade do projeto foram preservadas;
- o formulário ainda não grava mensagens; essa integração será feita no próximo capítulo com comando preparado e proteção CSRF.
