. * * @package NanoMvc * @author Nicolas Joseph * @copyright 2008 Nicolas Joseph * @license http://www.opensource.org/licenses/gpl-3.0.html GPL v3 * @filesource */ class View { /** * @var string */ private $page; /** * Cree une nouvelle vue. * * @param string page: nom du template */ public function __construct ($page) { $this->page = $page; } /** * Charge le template View::$page et retourne le contenu a afficher. * * @param array env: variables d'environnement * @return string */ public function render ($env) { $file = 'templates/'. $this->page .'.tpl'; if (is_file ($file)) { extract ($env); ob_start (); $path = dirname (__FILE__); require_once ($path .'/helper/page.php'); require ($file); $content = ob_get_contents (); ob_end_clean (); } else { throw new Exception ('Pas de template pour la page : '. $this->page); } return $content; } }