3 * An interface for template engines
5 * @author Roland Haeder <roland __NOSPAM__ [at] __REMOVE_ME__ mxchange [dot] org>
8 interface CompileableTemplate extends FrameworkInterface {
10 * Assign variables for templates
12 * @param $var The "variable" we want to assign
13 * @param $value The value we want to store in the variable
16 function assignVariable ($var, $value);
19 * Assign a configuration variables for templates
21 * @param $var The configuration "variable" we want to assign
22 * @param $value The value we want to store in the variable
25 function assignConfigVariable ($var, $value);
28 * Load a specified web template into the engine
30 * @param $template The web template we shall load which is
31 * located in "html" by default
34 function loadWebTemplate ($template);
37 * Load a specified code template into the engine for later compilation
38 * with other code/web/email templates.
40 * @param $template The code template we shall load which is
41 * located in "html" by default
44 function loadCodeTemplate ($template);
47 * Load a specified email template into the engine
49 * @param $template The email template we shall load which is
50 * located in "emails" by default
53 function loadEmailTemplate ($template);
56 * Compile all variables by inserting their respective values
60 function compileVariables ();
64 * Compile all required code/web/email-templates into the current one
68 function compileTemplate ();
71 * Output the compiled template to the outside world. In case of web
72 * templates this would be vaild (X)HTML code. And in case of email
73 * templates this would store a prepared email body inside the template