smarty = $smarty; $this->request = $request; $this->page = $request->page(); } public function page() { return $this->page; } public function template_filename() { $template_filename = $this->page() . '.tpl'; if (!$this->smarty->template_exists($template_filename)) { $template_filename = 'home.tpl'; } return $template_filename; } public function evaluate() { $code_filename = 'pages/' . $this->page() . '.php'; if (!file_exists($code_filename)) { throw Exception('Template code file does not exist!'); } eval("include '$code_filename';"); } }; ?>