PHP 8.6.0 Beta 3 is available for testing

Yaf_View_Interface::render

(Yaf >=1.0.0)

Yaf_View_Interface::renderEffectue le rendu d'un template

Description

abstract public function Yaf_View_Interface::render(string $tpl, array $tpl_vars = NULL): string

Effectue le rendu d'un template et retourne le résultat sous forme de chaîne de caractères au lieu de l'afficher.

Liste de paramètres

tpl

Le chemin vers le template, relatif au dossier des templates.

tpl_vars

Variables optionnelles à affecter pour ce seul template ; elles remplacent les variables affectées portant le même nom.

Valeurs de retour

Le résultat du rendu sous forme de chaîne de caractères, ou false en cas d'échec.

Exemples

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"));
    }
}
?>

Voir aussi

add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top