first commit

This commit is contained in:
2025-03-22 16:41:26 +01:00
commit 55ccbe3ad4
746 changed files with 89584 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));
}
}