Laravel 5 View Presenter
Installation
Open your composer.json file, and add the new required package. "pingpong/presenters": "~2.1"
Next, open a terminal and run.
composer update
Done.
Usage
First, create your own presenter and make sure that class is extends to Pingpong\Presenters\Presenter
class. Like this.
<?php
use Pingpong\Presenters\Presenter;
class UserPresenter extends Presenter
{
public function email($attributes = array())
{
return HTML::mailto($this->resource->email, $this->resource->email, $attributes);
}
}
?>
Make sure your model/eloquent to extends Pingpong\Presenters\Model
and set the presenter property to that model/eloquent.
<?php
use Pingpong\Presenters\Model;
class User extends Model
{
protected $presenter = 'UserPresenter';
}
?>
That's it! You're done. Now, within your view, you can do:
<h1>Your email is {{ $user->present()->email }}</h1>
Or, call the presenter as method.
<h1>Your email is {{ $user->present()->email(['width' => 140]) }}</h1>