Phalcon - Vistas
As visualizações são informações apresentadas ao usuário final. Uma visualização pode ser considerada como uma página da web com a resposta apropriada a ser exibida. A resposta é recebida por meio do controlador que interage com o modelo.
Especificamente no Phalcon, a visualização consiste em código Volt, PHP e HTML. Um conjunto de delimitadores especiais está disponível para entrar no modo Volt.{% ... %} é usado para executar instruções como loops for ou atribuir valores, e {{ ... }} imprime o resultado de uma expressão no modelo.
As visualizações no Phalcon são basicamente classificadas em dois tipos -
- Volt
- phtml
Volt
A seguir está a captura de tela da saída que criamos para o projeto demo1 no capítulo anterior.
Esta saída é obtida com a ajuda do arquivo views/index/index.volt.
Características dos arquivos Volt
É um template escrito em linguagem C e é consideravelmente rápido se comparado a outras linguagens.
Inclui um conjunto de componentes altamente integrados, que são muito benéficos no Phalcon.
Ele também pode ser usado como um componente independente.
Volt é compilado em código PHP puro.
A seguir está o código para index.volt que carrega por padrão para qualquer projeto.
<!--<div class = "page-header">
<h1>Congratulations!</h1>
</div>-->
<p>This is my first web application in Phalcon </p>
<!--<p>You're now flying with Phalcon. Great things are about to happen!</p>
<p>This page is located at <code>views/index/index.volt</code></p>-->
Renderização Hierárquica
Vistas no Phalcon suportam renderização hierárquica e Phalcon\Mvc\Viewé usado como componente de renderização padrão. Este componente usa PHP como mecanismo de template em comparação com arquivos volt que usam C como linguagem de template.
Essas visualizações deveriam ter .phtmlextensão. O diretório padrão de visualizações para um determinado projeto consiste nos três arquivos a seguir -
Action view- Esta visão é chamada para executar uma ação particular. É chamado quando a ação “mostrar” é executada.
Controller layout- Esta visualização está presente dentro da pasta de layouts. Por exemplo,C:\xampp\htdocs\demo\app\views\layouts. Ele invoca as chamadas de método associadas ao controlador apropriado. O código implementado no layout será implementado como e quando necessário.
Main layout - Esta visualização de layout invocará a ação principal e será exibida para cada controlador ou ação no aplicativo da web.
Diferença entre arquivos .volt e .phtml
.volt | .phtml |
---|---|
A extensão .volt é usada quando o mecanismo de modelo configurado no aplicativo é escrito em C | .phtml é usado quando o motor de template é o próprio PHP |
Ele pode ser usado como um componente autônomo | Não pode ser usado como um componente autônomo |
As visualizações do Volt são compiladas para o código PHP | Os próprios arquivos phtml incluem código PHP, portanto, não há necessidade de compilação no framework Phalcon |
Variáveis
As variáveis são atribuídas e alteradas no modelo usando 'set'.
Declarando uma matriz
{% set fruits = ['Apple', 'Banana', 'Orange'] %}
Declarando uma string
{% set name = ”John Kennedy” %}
Comentários
Comentários também podem ser adicionados a um modelo usando o {# ... #}delimitadores. Todo o texto dentro deles é simplesmente ignorado na saída final.
{# note: this is a comment
{% set price = 100; %}
#}
Exemplo
{% set fruits = ['Apple', 'Banana', 'Orange'] %}
<h1>Fruits</h1>
<ul>
{% for fruit in fruits %}
<li>{{ fruit|e }}</li>
{% endfor %}
</ul>
{% set robots = ['Voltron', 'Astro Boy', 'Terminator', 'C3PO'] %}
<ul>
{% for robot in robots %}
<li>{{ robot }}</li>
{% endfor %}
</ul>
Resultado
O código produzirá a seguinte tela de saída -