Rechercher une fonction PHP

Yaf_Dispatcher::setView

(Yaf >=1.0.0)

Yaf_Dispatcher::setViewDéfinit un moteur de visualisation personnalisé

Description

public Yaf_Dispatcher::setView ( Yaf_View_Interface $view ) : Yaf_Dispatcher

Cette méthode fournit une solution si vous souhaitez utiliser un moteur de visualisation personnalisé au lieu de celui proposé par Yaf_View_Simple

Retour à la première page de Manuel PHP  Table des matières Haut

Liste de paramètres

view

Une instance de la classe Yaf_View_Interface.

Retour à la première page de Manuel PHP  Table des matières Haut

Exemples

Exemple #1 Exemple avec Yaf_Dispatcher::setView()

<?php
require "/path/to/smarty/Smarty.class.php";

class 
Smarty_Adapter implements Yaf_View_Interface
{
    
/**
     * Objet Smarty
     * @var Smarty
     */
    
public $_smarty;
 
    
/**
     * Constructeur
     *
     * @param string $tmplPath
     * @param array $extraParams
     * @return void
     */
    
public function __construct($tmplPath null$extraParams = array()) {
        
$this->_smarty = new Smarty;
 
        if (
null !== $tmplPath) {
            
$this->setScriptPath($tmplPath);
        }
 
        foreach (
$extraParams as $key => $value) {
            
$this->_smarty->$key $value;
        }
    }
 
    
/**
     * Définit le chemin vers les templates
     *
     * @param string $path Le dossier à définir comme chemin.
     * @return void
     */
    
public function setScriptPath($path)
    {
        if (
is_readable($path)) {
            
$this->_smarty->template_dir $path;
            return;
        }
 
        throw new 
Exception('Chemin invalide fourni');
    }
 
    
/**
     * Assigne une variable à une template
     *
     * @param string $key Le nom de la variable.
     * @param mixed $val La valeur de la variable.
     * @return void
     */
    
public function __set($key$val)
    {
        
$this->_smarty->assign($key$val);
    }
 
    
/**
     * Autorise l'utilisation de empty() et isset()
     *
     * @param string $key
     * @return boolean
     */
    
public function __isset($key)
    {
        return (
null !== $this->_smarty->get_template_vars($key));
    }
 
    
/**
     * Autorise unset() sur des proporiétés d'objet
     *
     * @param string $key
     * @return void
     */
    
public function __unset($key)
    {
        
$this->_smarty->clear_assign($key);
    }
 
    
/**
     * Assigne les variables au template
     *
     * Autorise la définition d'une clé spécifique à une valeur spécifique,
     * OU le passage d'un tableau de clé=> valeur pour une définition en masse.
     *
     * @see __set()
     * @param string|array $spec La stratégie d'assignement à utiliser (clé our
     * tableau de clé=>valeur)
     * @param mixed $value (Optionnel) Si on assigne une variable nommée, utilise ce paramètre comme valeur.
     * @return void
     */
    
public function assign($spec$value null) {
        if (
is_array($spec)) {
            
$this->_smarty->assign($spec);
            return;
        }
 
        
$this->_smarty->assign($spec$value);
    }
 
    
/**
     * Efface toutes les variables assignées
     *
     * Efface toutes les variables assignées à Yaf_View via
     * {@link assign()} ou en surchargeant la propriété
     * ({@link __get()}/{@link __set()}).
     *
     * @return void
     */
    
public function clearVars() {
        
$this->_smarty->clear_all_assign();
    }
 
    
/**
     * Exécute un template et retourne le résultat.
     *
     * @param string $name The template to process.
     * @return string The output.
     */
    
public function render($name$value NULL) {
        return 
$this->_smarty->fetch($name);
    }

    public function 
display($name$value NULL) {
        echo 
$this->_smarty->fetch($name);
    }

}
?>

Exemple #2 Exemple avec Yaf_Dispatcher::setView()

<?php
class Bootstrap extends Yaf_Bootstrap_Abstract {

    
/**
     * il y a quelques options de configuration pour smarty dans
     * la configuration :
     *
     * smarty.left_delimiter   = "{{"
     * smarty.right_delimiter  = "}}"
     * smarty.template_dir     = APPLICATION_PATH "/views/scripts/"
     * smarty.compile_dir      = APPLICATION_PATH "/views/templates_c/"
     * smarty.cache_dir        = APPLICATION_PATH "/views/templates_d/"
     *
     */
    
public function _initConfig() {
        
$config Yaf_Application::app()->getConfig();
        
Yaf_Registry::set("config"$config);
    }

    public function 
_initLocalName() {
        
/** nous plaçons la classe Smarty_Adapter dans le dossier local de bibliothèques */
        
Yaf_Loader::getInstance()->registerLocalNamespace('Smarty');
    }

    public function 
_initSmarty(Yaf_Dispatcher $dispatcher) {
        
$smarty = new Smarty_Adapter(nullYaf_Registry::get("config")->get("smarty"));
        
$dispatcher->setView($smarty);
        
/* maintenant, le moteur de rendu Smarty devient le moteur de visualisation
           par défaut de Yaf */
    
}
}
?>
Rechercher une fonction PHP

Document créé le 30/01/2003, dernière modification le 26/10/2018
Source du document imprimé : https://www.gaudry.be/php-rf-yaf-dispatcher.setview.html

L'infobrol est un site personnel dont le contenu n'engage que moi. Le texte est mis à disposition sous licence CreativeCommons(BY-NC-SA). Plus d'info sur les conditions d'utilisation et sur l'auteur.

Références

  1. Consulter le document html Langue du document :fr Manuel PHP : http://php.net

Ces références et liens indiquent des documents consultés lors de la rédaction de cette page, ou qui peuvent apporter un complément d'information, mais les auteurs de ces sources ne peuvent être tenus responsables du contenu de cette page.
L'auteur de ce site est seul responsable de la manière dont sont présentés ici les différents concepts, et des libertés qui sont prises avec les ouvrages de référence. N'oubliez pas que vous devez croiser les informations de sources multiples afin de diminuer les risques d'erreurs.

Table des matières Haut