snipe-it/app/Presenters/Presentable.php
Daniel Meltzer 61543f3a04 Add presenters for models. (#3098)
* Add presenters for models.  Move bootstrap table JSON generation to these presenters, which cleans up controllers a lot.  Move view specific modifications from the models to the presenters as well.

* Fix some issues found by travis and codacy

* Fix a few more issues found while testing.

* Attempt another acceptance test fix

* Try something else

* Maybe..
2016-12-23 17:52:00 -08:00

25 lines
455 B
PHP

<?php
namespace App\Presenters;
trait Presentable
{
protected $presenterInterface;
public function present()
{
if (!$this->presenter || !class_exists($this->presenter)) {
throw new \Exception('Presenter class does not exist');
}
if (!isset($this->presenterInterface)) {
$this->presenterInterface = new $this->presenter($this);
}
return $this->presenterInterface;
}
}