Ok, já fizemos a configuração do ambiente, já sabemos como subir um projeto lumen pelo docker, agora vamos mexer no lumen de fato?
Para quem esta começando o post por aqui, sugiro que consulte os anteriores também, seguindo por este aqui e o outro anterior
Lumen: Instalando através do Docker
O lumen por default vem o máximo compacto possível para execução das API`s de maneira mais rápida, porem em nosso desenvolvimento precisamos ganhar tempo em questão de uso de alguns recursos, para isso vamos fazer o install de uma lib que nos dará alguns comandos mágicos na questão de agilidade para construção dos scripts que iremos utilizar na sequencia, então vamos la!
Adicionando inteligência1 no nosso terminal para o lumen
A lib open source chamada wn/lumen-generators, nos concede os comandos mágicos, porem, para realizar o install via composer, vamos utilizar nossos conhecimentos sobre docker, para isso, vá na pasta raiz de nosso projeto e vamos executar um comando
docker run --rm --interactive --tty -v $PWD/lumen:/app composer require wn/lumen-generators
O que aconteceu: Baixamos um docker-image pronto do hub do composer, criamos um container provisório e mandamos ele executar na nossa pasta do projeto /lumen o install do lib
wn/lumen-generators - Packagist
Precisamos fazer duas alterações para funcionar de vez, uma delas é no arquivo do projeto lumen que esta no seguinte caminho:
*/lumen/app/Providers/AppServiceProvider.php*
deixe esse arquivo da seguinte maneira
E por seguindo o arquivo
*/lumen/*bootstrap*/app.php*
Neste caso não vou postar o arquivo todo, apenas as áreas a alterar então por primeiro, descomente as seguintes linhas
//$app->withFacades();
//$app->withEloquent();
E depois descomente essa outra linha
//$app->register(*App\Providers\AppServiceProvider*::class);
Feito isso, estamos prontos!
Deixamos o uso de Eloquent assim como das Facades habilitados e colocamos o provider para funcionar onde temos uma regra para identificar a execução quando local para habilitar os comandos do wn/lumen-generators
Abra seu terminal na pasta do projeto lumen, e execute
php artisan
Veja que ganhamos mais uns truques de comandos
Esses caras vão ser beeem importantes para agilizarmos as coisas
Vamos executar alguns comandos para a criação de alguns conteúdos iniciais do nosso projeto:
Trait REST
O *wn/lumen-generators *possui um comando que gera uma trait bastante útil para agilizar o processo de CRUD dentro de algum model, para criarmos então vamos entrar na pasta do projeto /lumen em seu terminal e executar
php artisan wn:controller:rest-actions
Esse cara vai criar um arquivo no seguinte diretório
/lumen/app/Http/Controllers/RESTActions.php
O conteúdo desse cara é o seguinte
Esse script possui métodos automatizados para um CRUD podendo também utilizar o validators do Lumen que veremos posteriormente.
Uma alteração minha
Gosto muito do padrão desta lib, porem em termos de padronização dos resoures do Laravel eu prefiro seguir o que a comunidade utiliza em questão de nomenclatura dos métodos ainda mais que como Trait eles serão utilizados pela class que tal script será adicionado, então para isso vamos mudar o nome dos métodos do script RESTActions.php para os seguintes
public function all = public function index
public function get = public function show
public function add = public function store
public function put = public function update
public function remove = public function destroy
public function respond = public function respond
O único que fica como era é o respond
Vamos encerrando o post por aqui dev. Achei melhor encerrar por aqui pois o próximo posto centralizaremos apenas os Controllers, Models, Migrations e Routes. Então até la!
Top comments (0)