]> git.mxchange.org Git - hub.git/blobdiff - inc/classes/interfaces/template/class_CompileableTemplate.php
some comments fixed, small fix for windows OSes and some other things fixed
[hub.git] / inc / classes / interfaces / template / class_CompileableTemplate.php
diff --git a/inc/classes/interfaces/template/class_CompileableTemplate.php b/inc/classes/interfaces/template/class_CompileableTemplate.php
new file mode 100644 (file)
index 0000000..f6dc577
--- /dev/null
@@ -0,0 +1,98 @@
+<?php
+/**
+ * An interface for template engines
+ *
+ * @author             Roland Haeder <webmaster@mxchange.org>
+ * @version            0.3.0
+ * @copyright  Copyright(c) 2007, 2008 Roland Haeder, this is free software
+ * @license            GNU GPL 3.0 or any newer version
+ * @link               http://www.mxchange.org
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ */
+interface CompileableTemplate extends FrameworkInterface {
+       /**
+        * Assign variables for templates
+        *
+        * @param               $var            The "variable" we want to assign
+        * @param               $value  The value we want to store in the variable
+        * @return      void
+        */
+       function assignVariable ($var, $value);
+
+       /**
+        * Assign a configuration variables for templates
+        *
+        * @param               $var            The configuration "variable" we want to assign
+        * @param               $value  The value we want to store in the variable
+        * @return      void
+        */
+       function assignConfigVariable ($var, $value);
+
+       /**
+        * Load a specified web template into the engine
+        *
+        * @param               $template               The web template we shall load which is
+        *                                              located in "html" by default
+        * @return      void
+        */
+       function loadWebTemplate ($template);
+
+       /**
+        * Load a specified code template into the engine for later compilation
+        * with other code/web/email templates.
+        *
+        * @param               $template               The code template we shall load which is
+        *                                              located in "html" by default
+        * @return      void
+        */
+       function loadCodeTemplate ($template);
+
+       /**
+        * Load a specified email template into the engine
+        *
+        * @param               $template               The email template we shall load which is
+        *                                              located in "emails" by default
+        * @return      void
+        */
+       function loadEmailTemplate ($template);
+
+       /**
+        * Compile all variables by inserting their respective values
+        *
+        * @return      void
+        */
+       function compileVariables ();
+
+
+       /**
+        * Compile all required code/web/email-templates into the current one
+        *
+        * @return      void
+        */
+       function compileTemplate ();
+
+       /**
+        * Output the compiled template to the outside world. In case of web
+        * templates this would be vaild (X)HTML code. And in case of email
+        * templates this would store a prepared email body inside the template
+        * engine.
+        *
+        * @return      void
+        */
+       function output ();
+} // END - class
+
+// [EOF]
+?>