(Yaf >=1.0.0)
Yaf_View_Interface::render — Effectue le rendu d'un template
Effectue le rendu d'un template et retourne le résultat sous forme de chaîne de caractères au lieu de l'afficher.
tplLe chemin vers le template, relatif au dossier des templates.
tpl_varsVariables optionnelles à affecter pour ce seul template ; elles remplacent les variables affectées portant le même nom.
Le résultat du rendu sous forme de chaîne de caractères, ou false en cas d'échec.
Exemple #1 Exemple avec Yaf_View_Interface::render()
<?php
class MyView implements Yaf_View_Interface
{
private $tpl_dir;
private $vars = array();
public function __construct($template_dir, $options = null)
{
$this->tpl_dir = $template_dir;
}
public function assign($name, $value = null)
{
$this->vars[$name] = $value;
return true;
}
public function display($tpl, $tpl_vars = null)
{
echo $this->render($tpl, $tpl_vars);
return true;
}
public function render($tpl, $tpl_vars = null)
{
extract($this->vars);
if ($tpl_vars !== null) {
extract($tpl_vars);
}
ob_start();
include $this->tpl_dir . "/" . $tpl;
return ob_get_clean();
}
public function setScriptPath($template_dir)
{
$this->tpl_dir = $template_dir;
return $this;
}
public function getScriptPath()
{
return $this->tpl_dir;
}
}
/* branche le moteur de vue personnalisé sur le distributeur dans le bootstrap */
class Bootstrap extends Yaf_Bootstrap_Abstract
{
public function _initView(Yaf_Dispatcher $dispatcher)
{
$dispatcher->setView(new MyView(APPLICATION_PATH . "/views"));
}
}
?>