* @copyright Copyright (c) 2013 - 2018, TechFuze. (http://techfuze.net) */ interface TemplateEngine { /** * Set the directory of the current template. * * @param string $directory Template Directory */ public function setDirectory($directory); /** * Handle and retrieve a template file. * * @param string $file Template File * @param array $assigned_variables All the variables used in this layout * * @return string Output of the template */ public function get($file, $assigned_variables); /** * Retrieve the file extensions that this template engine uses. * * @return array All used extensions. eg: array('php') */ public function getFileExtensions(): array; /** * Reset the template engine to its default state, so it can be used again clean. */ public function reset(): bool; }