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 -