v1.0.2
PHP MVC Boilerplate v1.0.2
Primeira atualização de manutenção do PHP MVC Boilerplate.
Esta versão corrige bugs identificados na versão v1.0.0, melhora a estabilidade do framework e reforça aspectos de segurança e consistência interna, sem introduzir quebras de compatibilidade.
✅ Atualização recomendada para todos os projetos que utilizam a versão v1.0.0.
🐛 Correções de Bugs
Router
- Corrigida a injeção de parâmetros de rota em controllers utilizando
ReflectionMethod. - Parâmetros opcionais não informados na URI agora recebem
nullcorretamente. - Adicionado registro estático (
Router::setInstance) para permitir o funcionamento do helper globalroute()em qualquer parte da aplicação, incluindo Views.
Model / Query Builder
- Corrigido um bug crítico no método
paginate()quando utilizado em conjunto com cláusulaswhere(). - Corrigida a perda de filtros durante o cálculo da paginação.
- Adicionada validação de identificadores SQL (colunas e operadores), reduzindo riscos de SQL Injection por identificadores dinâmicos.
Auth
- Dados armazenados na sessão do usuário agora respeitam automaticamente os campos definidos em
$hidden. - Informações sensíveis, como senhas, deixam de ser armazenadas indevidamente na sessão.
- Removido armazenamento desnecessário do token "remember me" na sessão.
- Documentada futura implementação do recurso utilizando cookies persistentes e banco de dados.
Session
- Implementado mecanismo de expiração automática para
oldInput. - Dados de formulários são descartados após serem consumidos na próxima requisição.
- Evita vazamento de dados entre páginas e requisições subsequentes.
Validator
- Corrigido comportamento da regra
confirmed. - Corrigida validação do parâmetro
ignorena regraunique. - Valores como
0agora são tratados corretamente.
Middlewares
-
Corrigidos redirecionamentos incorretos em:
GuestMiddlewareRoleMiddleware
-
Os middlewares agora redirecionam corretamente para a rota
dashboard, eliminando erros 404 causados por rotas inexistentes.
Controllers
AuthController
- O método
resetSave()agora delega a atualização da senha paraUser::updatePassword(). - Removida lógica duplicada de hash de senha.
- Eliminado acesso direto ao PDO dentro do controller.
- Melhor separação de responsabilidades entre Controller e Model.
🔒 Melhorias de Segurança
- Proteção adicional contra SQL Injection em identificadores dinâmicos.
- Remoção de dados sensíveis da sessão do usuário.
- Melhor gerenciamento do ciclo de vida de dados temporários (
oldInput). - Maior consistência na validação de entradas.
⚡ Melhorias Internas
- Redução de acoplamento entre camadas.
- Melhor aderência ao padrão MVC.
- Melhor separação de responsabilidades.
- Correções de comportamento interno sem impacto na API pública do framework.
📦 Arquivos Alterados
app/Core/Router.php
app/Core/Model.php
app/Core/Auth.php
app/Core/Session.php
app/Core/Validator.php
app/Core/Application.php
app/Controllers/AuthController.php
app/Middlewares/GuestMiddleware.php
app/Middlewares/RoleMiddleware.php
app/Helpers/functions.php
bootstrap/app.php
🔄 Compatibilidade
- Compatível com a versão v1.0.0.
- Nenhuma quebra de compatibilidade.
- Nenhuma alteração necessária em projetos já existentes.
📄 Licença
Distribuído sob os termos da GNU General Public License v3.0 (GPL-3.0).