hadder/laravel-presenter is a Laravel package for presenters baseado no laracasts/presenter.
It currently has 0 GitHub stars and 144 downloads on Packagist (latest version 1.0.12).
Install it with composer require hadder/laravel-presenter.
Discover more Laravel packages by hadder
or browse all Laravel packages to compare alternatives.
Last updated
Fork com modificações do pacote laracasts/presenter (Jeffrey https://laracasts.com)
Em alguns casos é necessário executar alguma lógica antes de apresentar algum dado ou simplismente alguma formatação se faz necessária.
Para isto usamos "presenters". Este pacote tem esta finalidade.
Composer
composer require hadder/laravel-presenter
O primeiro passo é armazenar seus apresentadores em algum lugar - em qualquer lugar. Esses serão objetos simples que não fazem nada além de formatar dados, conforme necessário.
use Hadder\LaravelPresenter\Presenter;
class UserPresenter extends Presenter {
public function nomeCompleto()
{
return $this->nome . ' ' . $this->sobrenome;
}
public function data_nascimento()
{
return $this->data_nascimento->format('d/m/Y');
}
}
Ou utilize o comando php artisan presenter:make UserPresenter
Em seguida no seu model utilize o trait Hadder\LaravelPresenter\PresentableTrait.
Exemplo:
<?php
use Hadder\LaravelPresenter\PresentableTrait;
class User extends \Eloquent {
use PresentableTrait;
protected $presenter = \App\Presenters\UserPresenter::class;
protected $date = ['data_nascimento'];
}
Feitooooooooooo! Agora você pode fazer:
<h1>Olá, {{ $user->present()->nomeCompleto }}</h1>
Por padrão alguns presenters de formatação de data já estãos etados como created_at e updated_at no formato d/m/Y H:i:s, ou seja todo model recuperado já tem $model->present()->created_at.