Documentación offline PHP master

Yaf_Dispatcher::setView

master Ver versión oficial en línea Licencia CC-BY-3.0Descargado el 2026-08-02

En esta página

Yaf_Dispatcher::setView

Establecer un motor de vistas personalizado

Descripción#

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

Este método ofrece una solución si desea utilizar una vista personalizada personalizado en lugar de `Yaf_View_Simple`.

## Parámetros

`view`  
Una instancia de `Yaf_View_Interface`

## Valores devueltos

## Ejemplos

Ejemplo de un motor de Vistas personalizado
_smarty = new Smarty; if (null !== $tmplPath) { $this->setScriptPath($tmplPath); } foreach ($extraParams as $clave => $valor) { $this->_smarty->$clave = $valor; } } /** * Establecer la ruta a las plantillas * * @param string $ruta El directorio a establecer como ruta. * @return void */ public function setScriptPath($ruta) { if (is_readable($ruta)) { $this->_smarty->template_dir = $ruta; return; } throw new Exception('La ruta proporcionada no es válida'); } /** * Asignar una variable a la plantilla * * @param string $clave El nombre de la variable. * @param mixed $valor El valor de la variable. * @return void */ public function __set($clave, $valor) { $this->_smarty->assign($clave, $valor); } /** * Permite que funcionen las pruebas con empty() y isset() * * @param string $clave * @return boolean */ public function __isset($clave) { return (null !== $this->_smarty->get_template_vars($clave)); } /** * Permite que funcione unset() con las porpiedades de los objetos * * @param string $clave * @return void */ public function __unset($clave) { $this->_smarty->clear_assign($clave); } /** * Asignar variables a la plantilla * * Permite establecer una clave específica para el valor especificado, O pasar * un array de parejas clave => valor para establecer masivamente. * * @see __set() * @param string|array $spec La estrategia de asignación a utilizar (clave o * array de parejas clave => valor) * @param mixed $valor (Opcional) Si se asignan variables nominadas, * utilice este como el valor. * @return void */ public function assign($spec, $valor = null) { if (is_array($spec)) { $this->_smarty->assign($spec); return; } $this->_smarty->assign($spec, $valor); } /** * Limpiar todas las variables asignadas * * Limpia todas las variables asignadas a Yaf_View mediante * {@link assign()} o con sobrecarga de propiedades * ({@link __get()}/{@link __set()}). * * @return void */ public function clearVars() { $this->_smarty->clear_all_assign(); } /** * Procesa una plantilla y devuelve la salida. * * @param string $nombre La plantilla a procesar. * @return string La salida. */ public function render($nombre, $valor = NULL) { return $this->_smarty->fetch($nombre); } public function display($nombre, $valor = NULL) { echo $this->_smarty->fetch($nombre); } } ?>
Ejemplo de `Yaf_Dispatcher::setView`
getConfig(); Yaf_Registry::set("config", $config); } public function _initLocalName() { /** ponemos la clase Smarty_Adapter bajo el directorio de bibliotecas local */ Yaf_Loader::getInstance()->registerLocalNamespace('Smarty'); } public function _initSmarty(Yaf_Dispatcher $despachador) { $smarty = new Smarty_Adapter(null, Yaf_Registry::get("config")->get("smarty")); $despachador->setView($smarty); /* ahora el motor de vistas de Smarty se convierte en el motor de vistas predeterminado de Yaf */ } } ?>

```php

Véase también#

Yaf_View_Interface

Yaf_View_Simple