diff --git a/composer.json b/composer.json index 5f64d2f..68f3a17 100644 --- a/composer.json +++ b/composer.json @@ -2,7 +2,8 @@ "name": "potter/renderable", "type": "library", "require": { - "php": "^8.4" + "php": "^8.4", + "potter/stringable": "dev-main" }, "license": "MIT", "autoload": { diff --git a/src/Potter/Renderable/RenderableInterface.php b/src/Potter/Renderable/RenderableInterface.php index cb324cd..ea42b63 100644 --- a/src/Potter/Renderable/RenderableInterface.php +++ b/src/Potter/Renderable/RenderableInterface.php @@ -4,7 +4,9 @@ declare(strict_types=1); namespace Potter\Renderable; -interface RenderableInterface +use \Potter\Stringable\StringableInterface; + +interface RenderableInterface extends StringableInterface { public function render(): string; } diff --git a/src/Potter/Renderable/RenderableTrait.php b/src/Potter/Renderable/RenderableTrait.php index 41e4854..7fbffaa 100644 --- a/src/Potter/Renderable/RenderableTrait.php +++ b/src/Potter/Renderable/RenderableTrait.php @@ -6,5 +6,10 @@ namespace Potter\Renderable; trait RenderableTrait { + final public function __toString(): string + { + return $this->render(); + } + abstract public function render(): string; }