tequilarapido/presenter

为 Eloquent 模型提供简单直接的展示实现。

v1.1.5 2020-03-03 13:13 UTC

README

为 Eloquent 模型提供简单直接的展示实现。

Latest Version on Packagist Software License Build Status StyleCI SensioLabsInsight Quality Score Code Coverage

内容

安装

您可以使用 composer 安装此包

$ composer require tequilarapido/presenter

用法

假设我们有一个 User 模型类

class User extends Model {
   protected $fillables = ['first_name', 'last_name'];
}
  • 1/ 创建一个展示类,如下所示,并向其中添加展示方法。以示例为例,我们将创建一个返回用户全名的方法。
use Tequilarapido\Presenter\Presenter;

class UserPresenter extends Presenter {    
     public function name()
     {
        return $this->first_name . ' ' . $this->last_name;
     }
}

我们可以在展示类内部直接访问模型属性。我们也可以通过 $model 属性访问它们

$this->first_name
// or 
$this->model->first_name
// or
$this->model->getAttribute('first_name')
  • 2/ 您需要在模型中使用公共 $presenter 属性引用此类,并使用 Prensentable 特性。
use Tequilarapido\Presenter\Presentable;

class User extends Model {
    use Presentable;

   protected $fillables = ['first_name', 'last_name'];
   
   public $presenter = UserPresenter::class;
}
  • 3/ 您可以这样获取展示值
$user = User::find(1);

// Retreive as property 
$user->present()->name 

// you can alse call the method 
$user->present()->name()

变更日志

请参阅 变更日志 了解最近的变化。

测试

$ composer test

安全

如果您发现任何与安全相关的问题,请通过 :author_email 发送电子邮件,而不是使用问题跟踪器。

贡献

请参阅 贡献指南 了解详细信息。

致谢

许可

MIT 许可证 (MIT)。请参阅 许可文件 了解更多信息。