O que é Lumen?
O que é Lumen? Assim como o Slim e o Flask, o Lumen é um micro-framework desenvolvido por Taylor Otwell (que também é desenvolvedor do Laravel), lançado em abril de 2015 sobre a licença MIT, escrito em PHP e hospedado no GitHub.
Relembrando Micro-Framework…
Um Micro-Framework são Frameworks modularizados que possuem uma estrutura inicial muito mais simples quando comparado a um Framework convencional.
Pense em um Micro-Framework como uma peça de lego. Inicialmente, um projeto criado com o micro-framework possui apenas o básico para funcionar, (normalmente, sistema de rotas). Porém, ao decorrer do projeto, podem haver necessidades para utilização de outros recursos como, conexão de banco de dados, sistemas de templates, envio de email, etc. A partir desta necessidade, novas bibliotecas são “encaixadas” no projeto, como uma estrutura de lego.
De volta ao Lumen
Caracterizado como um dos Micro-Frameworks mais rápidos existentes atualmente, o Lumen é uma excelente opção na criação de APIs REST e no desenvolvimento de aplicações de microsserviços.
Derivado do Laravel, o Lumen possui uma menor quantidade de recursos nativos quando comparado ao “seu irmão mais velho”. Porém, por permitir que novos recursos de terceiros possam ser adicionados através do Composer e permitir habilitar os componentes nativos do Laravel como o próprio Eloquent ORM, o mesmo torna-se uma excelente opção para o desenvolvimento de vários tipos de projetos.
Características do Lumen
Assim como a maioria dos Micro-Frameworks, o Lumen tem como principal característica a sua simplicidade, mas esta não é a única, como podemos ver abaixo:
- Por possuir apenas o necessário para o desenvolvimento, a simplicidade do Lumen é um ponto positivo para sua utilização. Deste modo, torna-se mais simples que comparado a frameworks maiores já que sua arquitetura é muito mais simples;
- Possui maior rapidez no desenvolvimento já que o desenvolvedor irá se preocupar apenas com o necessário para o seu projeto. Desta forma, anula configurações desnecessárias para a aplicação;
- Diante da sua arquitetura mais simplista, tendem a ser menores e mais leves quando comparado a outros frameworks;
- Permite também a criação de aplicações mais robustas. Por ser um micro-framework totalmente personalizável, permitindo assim, caso necessário, a criação de uma arquitetura mais definida, entre outros.
Exemplo de uma aplicação Lumen
Abaixo podemos verificar um exemplo de uma aplicação Lumen, e notar a sua simplicidade:
<?php
$app->get(‘user/{id}’, function($id) {
return User::findOrFail($id);
});
Basicamente, a aplicação acima recebe uma requisição do tipo GET para a rota “/user/{id}” e retornar o usuário que possui o id enviado como parâmetro.
Podemos concluir que…
Como vimos durante todo o artigo, o Lumen é uma excelente escolha para o desenvolvimento de APIs REST e microsserviços, já que sua estrutura mais simples permite focar apenas no necessário e utilizar os recursos essenciais para sua criação.
No site do Lumen podemos verificar toda sua documentação, comunidade e tudo sobre a ferramenta.