Skip to content

v1.0.2

Choose a tag to compare

@eliasdossantos eliasdossantos released this 06 Jun 03:05
· 6 commits to main since this release
68dbb15

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 null corretamente.
  • Adicionado registro estático (Router::setInstance) para permitir o funcionamento do helper global route() 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áusulas where().
  • 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 ignore na regra unique.
  • Valores como 0 agora são tratados corretamente.

Middlewares

  • Corrigidos redirecionamentos incorretos em:

    • GuestMiddleware
    • RoleMiddleware
  • 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 para User::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).


🔗 Repositório

https://github.com/eliasdossantos/php-mvc