From 154ce6ae327ecf079e5afcd07c2e520fa486946b Mon Sep 17 00:00:00 2001
From: Marcin Kolanko <marcin@inspirelabs.pl>
Date: Fri, 1 Oct 2021 14:32:24 +0000
Subject: [PATCH] add output_render method

---
 CHANGELOG.md                       |  3 +++
 composer.json                      |  2 +-
 src/Renderer/Renderer.php          |  6 ++++++
 src/Renderer/SimplePhpRenderer.php | 14 +++++++++++---
 4 files changed, 21 insertions(+), 4 deletions(-)

diff --git a/CHANGELOG.md b/CHANGELOG.md
index 2fff2e5..aa84bdd 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,6 @@
+## [2.0.0] - 2021-10-01
+### Added
+- Add output_render method to Renderer interface
 ## [1.1.0] - 2019-09-23
 ### Added
 - PluginViewBuilder to facilitate building and rendering views for plugins
\ No newline at end of file
diff --git a/composer.json b/composer.json
index 0baefc3..d446d53 100644
--- a/composer.json
+++ b/composer.json
@@ -7,7 +7,7 @@
         }
     ],
     "require": {
-        "php": ">=5.5"
+        "php": ">=7.0"
     },
     "require-dev": {
         "phpunit/phpunit": "<7",
diff --git a/src/Renderer/Renderer.php b/src/Renderer/Renderer.php
index 35aecc4..e106044 100644
--- a/src/Renderer/Renderer.php
+++ b/src/Renderer/Renderer.php
@@ -23,4 +23,10 @@ interface Renderer
      * @return string
      */
     public function render($template, array $params = null);
+
+    /**
+     * @param string $template
+     * @param array $params
+     */
+    public function output_render($template, array $params = null);
 }
diff --git a/src/Renderer/SimplePhpRenderer.php b/src/Renderer/SimplePhpRenderer.php
index 9d05084..5e6d759 100644
--- a/src/Renderer/SimplePhpRenderer.php
+++ b/src/Renderer/SimplePhpRenderer.php
@@ -34,15 +34,23 @@ class SimplePhpRenderer implements Renderer
      * @return string
      */
     public function render($template, array $params = null)
+    {
+        ob_start();
+        $this->output_render( $template, $params );
+        return ob_get_clean();
+    }
+
+    /**
+     * @param string $template
+     * @param array|null $params
+     */
+    public function output_render($template, array $params = null)
     {
         if ($params !== null) {
             extract($params, EXTR_SKIP);
         }
 
-        ob_start();
         include($this->resolver->resolve($template . '.php'));
-
-        return ob_get_clean();
     }
 
 }
-- 
GitLab