gtk / presenter
为您的应用程序提供的简单视图呈现器。
此包的规范存储库似乎已丢失,因此该包已被冻结。
v1.1
2017-04-17 08:23 UTC
Requires
- php: >=5.5.0
- illuminate/database: ~5.1
- illuminate/support: ~5.1
Requires (Dev)
- mockery/mockery: ^0.9.6
- phpunit/phpunit: ~4.0
This package is not auto-updated.
Last update: 2024-06-08 18:22:00 UTC
README
有时在从视图(例如,从您的模型)显示一些数据之前,需要执行一些逻辑。视图呈现器是一种清晰执行与视图相关逻辑的实用方式,而不是将逻辑硬编码到视图中或将逻辑存储在模型中。
安装
通过Composer包管理器安装此包
composer require gtk/presenter
用法
首先,将您的呈现器存储在默认命名空间为App\Presenters
的地方。以下是一个呈现器的示例
namespace App\Presenters; use Gtk\Presenter\Presenter; class UserPresenter extends Presenter { public function fullName() { return $this->first_name.' '.$this->last_name; } public function lastLogin() { return $this->last_login->diffForHumans(); } }
接下来,在您的模型中引入Presentable
特质,这将自动实例化您的呈现器类。默认情况下,与模型User
关联的呈现器类是App\Presenters\UserPresenter
。以下是一个模型的示例
<?php namespace App\Models; use Gtk\Presenter\Presentable; class User extends Model { use Presentable; }
现在,在您的视图中,而不是
<h1>Hello, {{ $user->first_name.' '.$user->last_name }}!</h1> <p>Last login on {{ $user->last_login->diffForHumans() }}.</p>
您可以做
<h1>Hello, {{ $user->presenter()->fullName }}!</h1> <p>Last login on {{ $user->presenter()->lastLogin }}.</p>
您可以通过以下Presentable
特质的属性来指定与模型关联的呈现器类
$presenterClass
:指定包括其命名空间在内的完整呈现器类名。例如
protected $presenterClass = 'Acme\Presenters\User';
$presenterNamespace
:指定呈现器类的命名空间。例如
protected $presenterNamespace = 'Acme\Presenters';
$presenterClassSuffix
:指定呈现器类的后缀。例如,使用
protected $presenterClassSuffix = 'View';
与模型User
关联的呈现器类是UserView
而不是UserPresenter
。
许可
Simple View Presenters是开源软件,根据MIT许可许可。