O gerador gera os arquivos para apis Laravel ou Lumen com estrutura de Entities, Presenters, Repositories, Services, Transformers e Validators.
Segue abaixo o passo a passo das configurações:
Crie uma nova aplicação Laravel:
laravel new minha-aplicacao
Configure o arquivo .env
Gere uma chave para a aplicação:
php artisan key:generate
Verifique a instalação com o comando:
php artisan serve
Altere o nome da aplicação com o comando:
php artisan app:name MinhaAplicacao
Coloque as dependências do projeto no composer.json
executando os seguintes passos:
composer require prettus/l5-repository
composer require league/fractal
Adicione "prettus/laravel-validation": "1.1.*"
no composer.json
"require": {
"php": ">=5.5.9",
"laravel/framework": "5.2.*",
"prettus/l5-repository": "^2.6",
"prettus/laravel-validation": "1.1.*",
"league/fractal": "^0.13.0",
"barryvdh/laravel-cors": "^0.8.1"
},
No seu config/app.php
adicione Prettus\Repository\Providers\RepositoryServiceProvider::class
e Barryvdh\Cors\ServiceProvider::class
no final do array providers:
'providers' => [
...
Prettus\Repository\Providers\RepositoryServiceProvider::class,
Barryvdh\Cors\ServiceProvider::class,
],
Publique a configuração
php artisan vendor:publish
Crie o arquivo app/Serializers/DataArraySerializer.php
<?php
/**
* User: motamonteiro
* Date: 27/04/2016
* Time: 09:37
*/
namespace MinhaAplicacao\Serializers;
use League\Fractal\Serializer\ArraySerializer;
class DataArraySerializer extends ArraySerializer
{
/**
* Serialize a collection.
*
* @param string $resourceKey
* @param array $data
*
* @return array
*/
public function collection($resourceKey, array $data)
{
return $data;
//return ["data" => $data];
}
/**
* Serialize an item.
*
* @param string $resourceKey
* @param array $data
*
* @return array
*/
public function item($resourceKey, array $data)
{
return $data;
//return ["data" => $data];
}
}
Altere o serializer do arquivo config/repository.php
'fractal'=>[
'params'=>[
'include'=>'include'
],
'serializer' => \MinhaAplicacao\Serializers\DataArraySerializer::class
],
Utilize o motamonteiro/gerador para gerar os arquivos a partir do banco de dados MySql já criado conforme abaixo:
Configure o arquivo .env
definindo o seu banco de dados MySql já criado e informe a pasta do seu projeto.
Baixe as dependências do gerador
composer install
Inicie o servidor do php
php -S localhost:8080 -t public
Clique no link /criarDiretorios
para ele criar os diretórios aonde os arquivos ficarão e depois clique no botão voltar do navegador para voltar para a página inicial.
Clique nos links para gerar os arquivos desejados e depois clique no botão voltar do navegador para voltar para a página inicial.
De volta em MinhaAplicacao
prossiga com as configurações.
No arquivo config/app.php registre o MinhaAplicacao\Providers\MinhaAplicacaoRepositoryProvider::class,
/*
* Application Service Providers...
*/
MinhaAplicacao\Providers\AppServiceProvider::class,
MinhaAplicacao\Providers\AuthServiceProvider::class,
MinhaAplicacao\Providers\EventServiceProvider::class,
MinhaAplicacao\Providers\RouteServiceProvider::class,
MinhaAplicacao\Providers\MinhaAplicacaoRepositoryProvider::class,
Rode a aplicação
php artisan serve