PHPMVC

Publicado em Dezembro de 2014 - http://github.com/douglaszporto/phpmvc

Para o desenvolvimento do site da Nelogica, foi solicitado que utilizássemos o mínimo possível de frameworks ou CMSs prontos (principalmente para lógica de negócio). Tendo este requisito, decidi por implementar meu próprio framework e utilizá-lo neste site.

Os principais recursos presentes no PHPMVC são:

  • Arquitetura MVC (Model View Controller)
  • Controle por Rotas (Routes)
  • ORM (Object-Relational Mapping)
  • Template Engine (PHP Smarty)
  • Envio de Emails (PHP Mailer)
  • Pouca Configuração
  • Minificação de Código (HTML gerado, JS e CSS)

Basicamente, todas as requisições são tratadas pelo arquivo urls.php, onde há um mapeamento direto entre a url definida e um Método específico em um Controller. Neste Controller fazemos o uso das Model necessárias (todo tipo de troca de dados com o Banco de Dados deve ser feito através das Models) e definimos quais views são reponsáveis pela montagem final da página requisitada (para as Views, é possivel diferenciar comportamentos entre requisição padrão e requisição Ajax).

Toda a configuração necessária para o funcionamento do projeto localiza-se no arquivo config.php.
Para evitar a geração desnecessária de consultas triviais ao banco de dados, há também um módulo de ORM incorporado ao projeto.

Todas as informações referentes à consultas ao banco, requisições atendidas, exceções e redirecionamentos são armazenados em log.
Além disto, os templates são processados pelo PHP Smarty e é possível executar minificação de código através do Gulp.

Para instruções de como obter o projeto e como utilizá-lo, acesse http://github.com/douglaszporto/phpmvc/

Infelizmente, o projeto carece de uma documentação decente.