As visualizações PIMF contêm o HTML que é enviado ao usuário que trabalha com seu aplicativo. Ao separar sua visão da lógica de negócios de seu aplicativo, seu código ficará mais limpo e fácil de manter.
Todos os modelos de visualização são armazenados no diretório ‘/ app / MyFirstBlog / templates /’ e usam a extensão de arquivo PHTML. A classe Pimf View fornece uma maneira simples de recuperar seus modelos de visão e devolvê-los ao cliente.
As seguintes visualizações estão disponíveis
prontas para uso
: * Pimf View para uso comum * Pimf View Json para comunicação JSON suave
* Pimf View Haanga é opcional e precisa do motor de modelo
HAANGA * Pimf View_Twig é opcional e precisa do motor de modelo TWIG
Pimf_View
Carregando a visualização principal do blog
// use app/MyFirstBlog/_templates/theblog.phtml for viewing
$viewMain = new Pimf_View('theblog.phtml');
// assign data to the template
$viewMain->assign('blog_title', 'This is my firs Blog with PIMF')
->assign('blog_content', $view->render())
->assign('blog_footer', 'A Blog about cool and thin framework');
return $viewMain->render();
Renderiza uma lista HTML de todas as entradas que são armazenadas no banco de dados sqlite
// use app/MyFirstBlog/_templates/list.phtml for viewing
$viewAllEntries = new Pimf_View('list.phtml');
$entries = Pimf_Registry::get('em')->entry->getAll();
// assign data to the template
$viewAllEntries->assign('entries', $entries);
echo $this->loadMainView($viewAllEntries);
Pimf_View Partial Helper
Os métodos partial ($ template, array $ model = array ()) e loop ($ template, array $ model = array ()) em Pimf_View são usados para
renderizar um template especificado dentro de seu próprio escopo de variável. O uso principal é para fragmentos de modelo reutilizáveis, com os quais você não precisa se
preocupar com conflitos de nomes de variáveis.
Ação que lida com parciais e usa ‘app / MyFirstBlog / templates / booklist.phtml’ e ‘app / MyFirstBlog / templates / book.phtml’ para
renderizar uma tabela.
$data['books'] = array(
array(
'author' => 'Hernando de Soto',
'title' => 'The Mystery of Capitalism'
),
array(
'author' => 'Henry Hazlitt',
'title' => 'Economics in One Lesson'
),
);
$view = new Pimf_View('booklist.phtml');
echo $view->pump($data)->render();
Veja como o ‘app / MyFirstBlog / _templates / booklist.phtml’ se parece:
<?php if ($this->books) : ?>
<table border="1">
<thead>
<tr>
<th>Autor</th>
<th>Title</th>
</tr>
</thead>
<tbody>
<?php echo $this->loop('book.phtml', $this->books); ?>
</tbody>
</table>
<?php endif; ?>
Veja como o loop por meio de ‘app / MyFirstBlog / _templates / book.phtml’ parcial se parece com:
<tr>
<td><?php echo $this->author; ?></td>
<td><?php echo $this->title; ?></td>
</tr>
Pimf View Json
Envia dados para uma única entrada como formato JSON.
// open new json view
$view = new Pimf_View_Json();
// pump all data to the view and render
$view->pump(array('name' => 'rambo'))->render();
Mecanismos de modelo
O PIMF funciona muito bem com mecanismos de template externos como TWIG e HAANGA. Twig é um mecanismo de template flexível, rápido e seguro para PHP. Haanga
é um mecanismo de template que se baseia na ideia do TWIGs e usa a sintaxe Django para analisar os arquivos PHTML. O PIMF oferece a possibilidade de usá-
los opcionalmente ou paralelamente. Você pode usar mais de um mecanismo de modelo. Enlouquecer!
Pimf View Twig
Antes de começar a usá-lo – adicione o seguinte código ao final do arquivo config.php:
'view' => array(
'twig' => array(
'cache' => true, // if compilation caching should be used
'debug' => false, // if set to true, you can display the generated nodes
'auto_reload' => true, // useful to recompile the template whenever the source code changes
),
),
Uma ação “Hallo world” para mostrar que o PIMF funciona muito bem com o TWIG
// use app/MyFirstBlog/_templates/parent.twig for viewing
$view = new Pimf_View_Twig('parent.twig');
// assign data to the template
$view->assign('hello', 'Hello world')
->assign('now', date('d M Y h:i:s', time()));
echo $view->render();
Pimf View Haanga
Antes de começar a usá-lo – adicione o seguinte código ao final do arquivo config.php:
'view' => array(
'haanga' => array(
'cache' => true, // if compilation caching should be used
'debug' => false, // if set to true, you can display the generated nodes
'auto_reload' => true, // useful to recompile the template whenever the source code changes
),
),
Uma ação “Hallo world” para mostrar que o PIMF funciona muito bem com HAANGA.
// use app/MyFirstBlog/_templates/parent.haanga for viewing
$view = new Pimf_View_Haanga('parent.haanga');
// assign data to the template
$view->assign('hello', 'Hello world')
->assign('now', date('d M Y h:i:s', time()));
echo $view->render();