. * */ namespace Friendica\Render; /** * Interface for template engines */ abstract class TemplateEngine { /** @var string */ static $name; /** @var string */ protected $theme; /** @var array */ protected $theme_info; /** * @param string $theme The current theme name * @param array $theme_info The current theme info array */ abstract public function __construct(string $theme, array $theme_info); /** * Returns the rendered template output from the template string and variables * * @param string $template * @param array $vars * @return string */ abstract public function replaceMacros(string $template, array $vars); /** * Returns the template string from a file path and an optional sub-directory from the project root * * @param string $file * @param string $subDir * @return mixed */ abstract public function getTemplateFile(string $file, string $subDir = ''); }