| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100 |
- <sect1 id="zend.view.introduction">
- <title>Introdução</title>
- <para>
- Zend_View é uma classe para trabalhar com a parte de visualização do padrão de projeto MVC. Basicamente ela existe para separar o script de visualização dos controladores e modelos. Ela fornece um sistema de assistentes, filtros de saída e escape de variáveis.
- </para>
- <para>
- Zend_View é um sistema de template agnóstico; você pode usar o PHP como sua linguagem de template, ou criar instâncias de outros sistemas de template e manipulá-las dentro do seu script de visualização.
- </para>
- <para>
- Essencialmente, o funcionamento do Zend_View acontece em duas etapas principais:
- 1. Seu script controlador cria uma instância de Zend_View, atribuindo-lhe variáveis.
- 2. O controlador instrui o Zend_View a rederizar uma determinada visualização , passando o controle ao script de visualização, responsável pela geração da saída a ser visualizada.
- </para>
- <sect2 id="zend.view.introduction.controller">
- <title>Script Controlador</title>
- <para>
- Neste exemplo simples, suponhamos que seu controlador tenha uma listagem contendo dados sobre livros, que queremos renderizar para uma visualização. O controlador poderia ser algo como isto:
- </para>
- <programlisting role="php"><![CDATA[<?php
- // use um modelo para obter dados sobre autores e títulos dos livros.
- $data = array(
- array(
- 'author' => 'Hernando de Soto',
- 'title' => 'The Mystery of Capitalism'
- ),
- array(
- 'author' => 'Henry Hazlitt',
- 'title' => 'Economics in One Lesson'
- ),
- array(
- 'author' => 'Milton Friedman',
- 'title' => 'Free to Choose'
- )
- );
- // atribua os dados à instância de Zend_View
- Zend_Loader::loadClass('Zend_View');
- $view = new Zend_View();
- $view->books = $data;
- // renderize uma visualização chamada "booklist.php"
- echo $view->render('booklist.php');
- ?>]]>
- </programlisting>
- </sect2>
- <sect2 id="zend.view.introduction.view">
- <title>Script Visualizador</title>
- <para>
- Agora necessitaremos do script de visualização associado, "booklist.php". Trata-se de um script PHP como qualquer outro, com uma exceção: ele executa dentro do escopo da instância de Zend_View instance, o que implica que as referências a $this apontam para as propriedades e métodos da instância Zend_View. (Variáveis atribuídas à instância pelo controlador são propriedades públicas da instância de Zend_View.) Deste modo, um script de visualição muito básico poderia se parecer com isto:
- </para>
- <programlisting role="php"><![CDATA[<?php if ($this->books): ?>
- <!-- Uma tabela contendo alguns livros. -->
- <table>
- <tr>
- <th>Autor</th>
- <th>Título</th>
- </tr>
- <?php foreach ($this->books as $key => $val): ?>
- <tr>
- <td><?php echo $this->escape($val['author']) ?></td>
- <td><?php echo $this->escape($val['title']) ?></td>
- </tr>
- <?php endforeach; ?>
- </table>
- <?php else: ?>
- <p>Não existem livros a serem exibidos.</p>
- <?php endif; ?>]]>
- </programlisting>
- <para>
- Observe a forma como empregamos o método "escape()" para escapar o conteúdo das variáveis para a saída.
- </para>
- </sect2>
- </sect1>
- <!--
- vim:se ts=4 sw=4 et:
- -->
|