Keine Cache-Version


Caching deaktiviert Standardeinstellung für diese Seite:aktiviert (code LNG204)
Wenn die Anzeige zu langsam ist, können Sie den Benutzermodus deaktivieren, um die zwischengespeicherte Version anzuzeigen.

Rechercher une fonction PHP

Yaf_Dispatcher::setView

(Yaf >=1.0.0)

Yaf_Dispatcher::setViewSet a custom view engine

Beschreibung

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

This method proviods a solution for that if you want use a custom view engine instead of Yaf_View_Simple

Erste Seite von PHP-Handbuch Inhaltsverzeichnis Haut

Parameter-Liste

view

A Yaf_View_Interface instance

Erste Seite von PHP-Handbuch Inhaltsverzeichnis Haut

Beispiele

Beispiel #1 A custom View engine()example

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

class 
Smarty_Adapter implements Yaf_View_Interface
{
    
/**
     * Smarty object
     * @var Smarty
     */
    
public $_smarty;
 
    
/**
     * Constructor
     *
     * @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;
        }
    }
 
    
/**
     * Set the path to the templates
     *
     * @param string $path The directory to set as the path.
     * @return void
     */
    
public function setScriptPath($path)
    {
        if (
is_readable($path)) {
            
$this->_smarty->template_dir $path;
            return;
        }
 
        throw new 
Exception('Invalid path provided');
    }
 
    
/**
     * Assign a variable to the template
     *
     * @param string $key The variable name.
     * @param mixed $val The variable value.
     * @return void
     */
    
public function __set($key$val)
    {
        
$this->_smarty->assign($key$val);
    }
 
    
/**
     * Allows testing with empty() and isset() to work
     *
     * @param string $key
     * @return boolean
     */
    
public function __isset($key)
    {
        return (
null !== $this->_smarty->get_template_vars($key));
    }
 
    
/**
     * Allows unset() on object properties to work
     *
     * @param string $key
     * @return void
     */
    
public function __unset($key)
    {
        
$this->_smarty->clear_assign($key);
    }
 
    
/**
     * Assign variables to the template
     *
     * Allows setting a specific key to the specified value, OR passing
     * an array of key => value pairs to set en masse.
     *
     * @see __set()
     * @param string|array $spec The assignment strategy to use (key or
     * array of key => value pairs)
     * @param mixed $value (Optional) If assigning a named variable,
     * use this as the value.
     * @return void
     */
    
public function assign($spec$value null) {
        if (
is_array($spec)) {
            
$this->_smarty->assign($spec);
            return;
        }
 
        
$this->_smarty->assign($spec$value);
    }
 
    
/**
     * Clear all assigned variables
     *
     * Clears all variables assigned to Yaf_View either via
     * {@link assign()} or property overloading
     * ({@link __get()}/{@link __set()}).
     *
     * @return void
     */
    
public function clearVars() {
        
$this->_smarty->clear_all_assign();
    }
 
    
/**
     * Processes a template and returns the output.
     *
     * @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);
    }

}
?>

Beispiel #2 Yaf_Dispatcher::setView()example

<?php
class Bootstrap extends Yaf_Bootstrap_Abstract {

    
/**
     * there are some config for smarty in the config:
     *
     * 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() {
        
/** we put class Smarty_Adapter under the local library directory */
        
Yaf_Loader::getInstance()->registerLocalNamespace('Smarty');
    }

    public function 
_initSmarty(Yaf_Dispatcher $dispatcher) {
        
$smarty = new Smarty_Adapter(nullYaf_Registry::get("config")->get("smarty"));
        
$dispatcher->setView($smarty);
        
/* now the Smarty view engine become the default view engine of Yaf */
    
}
}
?>
Finde eine PHP-Funktion

Deutsche Übersetzung

Sie haben gebeten, diese Seite auf Deutsch zu besuchen. Momentan ist nur die Oberfläche übersetzt, aber noch nicht der gesamte Inhalt.

Wenn Sie mir bei Übersetzungen helfen wollen, ist Ihr Beitrag willkommen. Alles, was Sie tun müssen, ist, sich auf der Website zu registrieren und mir eine Nachricht zu schicken, in der Sie gebeten werden, Sie der Gruppe der Übersetzer hinzuzufügen, die Ihnen die Möglichkeit gibt, die gewünschten Seiten zu übersetzen. Ein Link am Ende jeder übersetzten Seite zeigt an, dass Sie der Übersetzer sind und einen Link zu Ihrem Profil haben.

Vielen Dank im Voraus.

Dokument erstellt 30/01/2003, zuletzt geändert 26/10/2018
Quelle des gedruckten Dokuments:https://www.gaudry.be/de/php-rf-yaf-dispatcher.setview.html

Die Infobro ist eine persönliche Seite, deren Inhalt in meiner alleinigen Verantwortung liegt. Der Text ist unter der CreativeCommons-Lizenz (BY-NC-SA) verfügbar. Weitere Informationen auf die Nutzungsbedingungen und dem Autor.

Referenzen

  1. Zeigen Sie - html-Dokument Sprache des Dokuments:fr Manuel PHP : http://php.net

Diese Verweise und Links verweisen auf Dokumente, die während des Schreibens dieser Seite konsultiert wurden, oder die zusätzliche Informationen liefern können, aber die Autoren dieser Quellen können nicht für den Inhalt dieser Seite verantwortlich gemacht werden.
Der Autor Diese Website ist allein dafür verantwortlich, wie die verschiedenen Konzepte und Freiheiten, die mit den Nachschlagewerken gemacht werden, hier dargestellt werden. Denken Sie daran, dass Sie mehrere Quellinformationen austauschen müssen, um das Risiko von Fehlern zu reduzieren.

Inhaltsverzeichnis Haut