Scripts de Visualização Uma vez que seu controlador tenha atribuido as variáveis e chamado o método, Zend_View incluirá o script de visualização requerido e o executará dentro do escopo de sua própria instância. Portanto, em seus scripts de visualização, as referências a $this apontarão para a própria instância de Zend_View. Variáveis atribuídas à visualização pelo controlador são referidas como propriedades de instância. Por exemplo, se o controlador atribuir a variável 'algumacoisa', você deve referir-se a ela como $this->algumacoisa em seu scritp de visualização. (Isto permite um rastreamento dos valores que foram atribuidos ao script, e que são internos ao mesmo). A fim de lembrar, aqui está um exemplo de script de visualização originado da introdução do Zend_View. books): ?> books as $key => $val): ?>
Autor Título
escape($val['author']) ?> escape($val['title']) ?>

Não existem livros a serem exibidos.

]]>
Escapando a Saída Uma das tarefas mais importantes a ser executada por scripts de visualização é assegurar que a saída seja corretamente escapada; entre outras coisas, isto ajuda a evitar ataques do tipo site-cruzado. A menos que você esteja usando uma função, método, ou assistente que realize o escape, você sempre deverá escapar o conteúdo das variáveis antes de exibí-lo. Zend_View implementa um método chamado escape() que realiza corretamente o escape para você. variable; // maneira recomendada: echo $this->escape($this->variable); ?>]]> Por padrão, o método escape() usa a função PHP htmlspecialchars() para fazer o escape. Mas, dependendo do seu ambiente, você pode desejar um comportamento diferente para o escape. Use o método setEscape() no nível do controlador para instruir o Zend_View sobre qual função de callback utilizar para fazer o escape. setEscape('htmlentities'); // ou instrui o uso de um método estático de classe $view->setEscape(array('SomeClass', 'methodName')); // ou mesmo um método de instância $obj = new SomeClass(); $view->setEscape(array($obj, 'methodName')); // e renderiza a visualização echo $view->render(...); ?>]]> A função ou método de callback deverá tomar o valor a ser escapado como seu primeiro parâmetro, e os demais parâmetros deverão ser opcionais. Sistemas de Template Embora o PHP em sí seja um poderoso sistema de template, muitos desenvolvedores sentiram que ele é muito potente ou complexo para seus designers de templates. Como tal, o script de visualização pode ser usado para instanciar e manipular um objeto de template separadamente, tal como um template ao estilo PHPLIB (ou Smarty). O script de visualização para este tipo de tarefa pode ser algo como isto: books) { $tpl->setFile(array( "booklist" => "booklist.tpl", "eachbook" => "eachbook.tpl", )); foreach ($this->books as $key => $val) { $tpl->set_var('author', $this->escape($val['author']); $tpl->set_var('title', $this->escape($val['title']); $tpl->parse("books", "eachbook", true); } $tpl->pparse("output", "booklist"); } else { $tpl->setFile("nobooks", "nobooks.tpl") $tpl->pparse("output", "nobooks"); } ?>]]> Estes seriam os arquivos de template relacionados: {books}
Author Title
{author} {title}

There are no books to display.

]]>