Executando verificação de segurança...
7

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 😸🌙

Carregando publicação patrocinada...
2

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.

1

A ideia do gestor era ter mais liberdade do código e por isso preferiu por não usar algum framework existente. Acredito que não terão dor de cabeça, caso exista não tem problemas em corrigir conforme necessário.

1

Exato. Para a empresa é um problema enorme. Onde trabalho, la em 2005, nao existiam frameworks em php. Criamos um e estams agarrados nele até hoje. 80% dos sistemas aqui estão nele.

1
1

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! ⭐

1

Ele realmente foi criado com a intenção de reduzir a problemática de arquivos que as vezes são inuteis no Laravel. O Express.js lhe permite criar algo completamente solto e da sua forma e tentei juntar o máximo de ambos.

Feliz que tenha gostado! Qualquer dúvida estou por aqui 😁

1
1

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

1