Initial commit

This commit is contained in:
2026-01-25 21:03:33 +01:00
commit 8d8e213f1c
2570 changed files with 479666 additions and 0 deletions
+27
View File
@@ -0,0 +1,27 @@
<?php
namespace Vanguard\Presenters\Traits;
use Exception;
use Vanguard\Presenters\Presenter;
trait Presentable
{
protected ?Presenter $presenterInstance = null;
/**
* @throws Exception
*/
public function present(): Presenter
{
if (is_object($this->presenterInstance)) {
return $this->presenterInstance;
}
if (property_exists($this, 'presenter') and class_exists($this->presenter)) {
return $this->presenterInstance = new $this->presenter($this);
}
throw new Exception('Property $presenter was not set correctly in '.get_class($this));
}
}