From 8612a760ba713212865ef663da2d6e693b9dbfe7 Mon Sep 17 00:00:00 2001 From: Dominique Fournier Date: Sun, 20 Jul 2014 20:37:44 +0000 Subject: [PATCH] Add the variables support to the renderer : we can send datas variable to the view and the view can manage them. The Search/Replacement feature continue to be available git-svn-id: https://svn.fournier38.fr/svn/ProgSVN/trunk@1531 bf3deb0d-5f1a-0410-827f-c0cc1f45334c --- outputhtml.php | 9 ++++++--- renderer.php | 6 ++++-- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/outputhtml.php b/outputhtml.php index ac36be8..c50502c 100644 --- a/outputhtml.php +++ b/outputhtml.php @@ -16,10 +16,13 @@ class outputhtml extends output @param string|null $viewClass Class in views to use to display @param string|null $viewMethod Method in the class in views @param string|null $layout Layout file in views - @param array|null $replacement Replace the {key}=>value */ + @param array|null $replacement Replace the {key}=>value + @param array|null $variable PHP variables send to the view (can be + processed by foreach, if...) */ public function out ($data, $title = FALSE, $viewClass = FALSE, $viewMethod = FALSE, - $layout = FALSE, $replacement = array()) + $layout = FALSE, $replacement = array(), + $variable = array ()) { @header("Cache-Control: no-store, no-cache, must-revalidate"); @header("Expires: Sat, 26 Jul 1997 05:00:00 GMT"); @@ -32,7 +35,7 @@ class outputhtml extends output { require_once ("views/$viewClass.php"); $obj = new $viewClass; - $resView = $obj->$viewMethod ($data); + $resView = $obj->$viewMethod ($data, $variable); } if ($layout !== FALSE) diff --git a/renderer.php b/renderer.php index f57b4d1..9b49a9f 100644 --- a/renderer.php +++ b/renderer.php @@ -18,8 +18,10 @@ class renderer public $viewMethod = FALSE; /** Filename in views containing the HTML layout. Without .html at the end */ public $layout = FALSE; - /** Array to replace */ + /** Array to search/replace */ public $replacement = array(); + /** Array to variable definition */ + public $variable = array (); /** Display the $this->result result in the output model defined by $this->output */ @@ -32,7 +34,7 @@ class renderer $res = $reflection->invokeArgs (new $class, array ($this->result, $this->title, $this->viewClass, $this->viewMethod, $this->layout, - $this->replacement)); + $this->replacement, $this->variable)); echo $res; }