Luna - O meu framework PHP
Fui contratado para desenvolver um sistema para uma empresa da cidade em que trabalho mas não seria possível utilizar Laravel ou CodeIgniter para desenvolver com o padrão MVC por motivos de desejo da empresa. Por isso precisei desenvolver um framework PHP baseado no modelo MVC e decidi me inspirar no Laravel, CodeIgniter e Express para desenvolve-lo, assim surgiu o framework Luna.
Mesmo nome da minha gata mais velha
Com o Luna iniciado e estável, o adicionei ao GitHub para que possa ser utilizado por outros programadores PHP e receber contribuições. O Luna pode ser hospedado em hosts comuns que aceitem PHP (sem muita burocracia como seria com o Laravel) e um método semelhante ao Express.js para lidar com as rotas, utilizando as variáveis de $request
e $response
.
Exemplo de rota:
use \App\Controllers\Pages;
$router->get('/', [
function($request, $response) {
return Pages\Example::getPage($request, $response);
}
]);
Os principais recursos do Luna são:
- Mapeamento de rotas;
- Banco de dados em ORM (Illuminate/Eloquent);
- Fila de middlewares;
- Praticidade, segurança e agilidade;
- Hospedagem simplificada;
- Armazenamento em cache;
- Componentização;
- Paginação.
Criei também um projeto simples para testar os recursos do Luna, acesse-o aqui.
A documentação do framework pode ser encontrada aqui. O repositório no GitHub, aqui.
Sinta-se a vontade para dar um feedback sobre.
Abraços 😸🌙
Vendo pelo seu lado, é um projeto massa de fazer, em que você aprende bastante coisa e entende como as coisas funcionam.
Vendo pelo lado da empresa, é um grandíssimo tiro no pé. Já cometi esse erro, e só nos trouxe retrabalho e dificuldade de novas pessoas assumirem o projeto.
Fantástico demais! Lendo esse post me fez lembrar bastante da estrutura do Laravel, o qual utilizo bastante. Porém ao ver seu código, senti como se fosse uma versão mais simplificada ou resumida dele (O Laravel é enorme e chega a dar uma confusão se for explorar tudo :s). Eu achei incrível e assim que possível vou testá-la! Ganhou uma estrelinha! ⭐
Entendi que descartou Codeigniter e Laravel, mas a mesma regra se aplicava a outros frameworks também?
Frameworks: Yii, CakePHP, FuelPHP, Symfony Mini/Micro Frameworks: Slim, PHPIxie, LeafPHP
Excelente experiência para se aprofundar na estrutura e funcionamento de um framework MVC!