定制 hadder/laravel-presenter 二次开发

按需修改功能、优化性能、对接业务系统,提供一站式技术支持

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

hadder/laravel-presenter

最新稳定版本:1.0.12

Composer 安装命令:

composer require hadder/laravel-presenter

包简介

Presenters baseado no laracasts/presenter

README 文档

README

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.

  • Esta lógica deve ser feita na view? Não.
  • Deve ser feita no model? NÃO!

Para isto usamos "presenters". Este pacote tem esta finalidade.

Instalação

Composer

composer require hadder/laravel-presenter

Uso

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>

Observações

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.

统计信息

  • 总下载量: 120
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 0
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 1
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2021-12-06