O pacote Masterkey presenter foi desenvolvido pensando em uma estrutura unificada para exibição de dados. Claro que, a lógica de transfomação fica por conta do desenvolvedor, mas este pacote permite um bootstrap para tais atividades. desenvolvido e pensado para trabalhar com o Laravel 5.4
Instale-o via composer:
$ composer require masterkey/presenter
Após instalado, registre o service provider do package
[
'providers' => [
// Outros providers
Masterkey\Presenter\Providers\PresenterServiceProvider::class,
]
]
e publique o arquivo de configuração:
$ php artisan vendor:publish
Neste arquivo de configuração você pode definir o path onde os presenters serão criados, além do namespace que eles receberão.
A utilização do pacote é muito simples. Para criar um novo presenter, utilize o comando:
$ php artisan make:presenter UsersPresenter
Este comando irá criar uma classe, por padrão, em app/Presenters com o namespace definido por você no arquivo de configuração.
O package gera uma classe que implementa um contrato, a interface Masterkey\Presenter\Contracts\PresenterContract
. Para passar dados para o presenter, deve ser passada uma instância do contrato Ìlluminate\Contracts\Support\Arrayable
. Em geral, as Collections do Laravel implementam este contrato.
Após implementar sua lógica, basta recuperar os dados utilizando o método getFormatedData()
. Feito isso, basta chutar para o gol e partir para o abraço!
Qualquer contribuição a este pacote é muito bem vinda!