# Padrões de desenvolvimento

## PHP

- Separar configuração em `.env` ou arquivo equivalente fora do versionamento.
- Usar `password_hash` e `password_verify` para senhas.
- Usar PDO com prepared statements.
- Padronizar respostas JSON em APIs.
- Não expor erros detalhados em produção.

## Uploads

- Validar extensão e MIME type.
- Limitar tamanho.
- Renomear arquivos para nomes seguros.
- Bloquear execução de PHP em diretórios de upload.
- Armazenar metadados no banco.

## PDF

- Gerar PDF sob demanda.
- Definir `Content-Type: application/pdf`.
- Definir `Content-Disposition` com nome seguro.
- Evitar geração em massa síncrona em hospedagem compartilhada.

## Power BI

- Endpoints precisam retornar JSON limpo.
- Campos de data devem ter formato previsível.
- Evitar alterações de nome de coluna sem versionar a API.
- Separar dados de rede, unidade e consultor quando necessário.

## DAX/HTML

- A variável final de medidas HTML não deve se chamar `HTML`; usar nomes específicos como `HTMLRankingDetalhes`, `HTMLCorridaF1` ou `HTMLAtletismo`.
- Manter paleta MotionFit: verde `#98c01f`, preto `#141615`, branco `#fffdff`.
