Trabalhando com visualizações PIMF e motores temporários

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();