Phalcon - Viste

Le visualizzazioni sono informazioni presentate all'utente finale. Una visualizzazione può essere considerata come una pagina web con la risposta appropriata da visualizzare. La risposta viene ricevuta tramite il controller che interagisce con il modello.

Nello specifico in Phalcon, la visualizzazione è composta da codice Volt, PHP e HTML. È disponibile una serie di delimitatori speciali per entrare in modalità Volt.{% ... %} viene utilizzato per eseguire istruzioni come cicli for o assegnare valori e {{ ... }} stampa il risultato di un'espressione nel modello.

Le viste in Phalcon sono fondamentalmente classificate in due tipi:

  • Volt
  • phtml

Volt

Di seguito è riportato lo screenshot dell'output che avevamo creato per il progetto demo1 nel capitolo precedente.

Questo output si ottiene con l'aiuto di file views/index/index.volt.

Caratteristiche dei file Volt

  • È un modello scritto in linguaggio C ed è notevolmente veloce rispetto ad altri linguaggi.

  • Include una serie di componenti altamente integrati, che sono molto vantaggiosi in Phalcon.

  • Può anche essere utilizzato come componente autonomo.

  • Volt è compilato in puro codice PHP.

Di seguito è riportato il codice per index.volt che carica di default per qualsiasi progetto.

<!--<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>-->

Rendering gerarchico

Le viste in Phalcon supportano il rendering gerarchico e Phalcon\Mvc\Viewviene utilizzato come componente di rendering predefinito. Questo componente utilizza PHP come motore di modelli rispetto ai file volt che utilizzano C come linguaggio di modelli.

Queste visualizzazioni dovrebbero avere .phtmlestensione. La directory predefinita delle viste per il progetto dato è composta dai seguenti tre file:

  • Action view- Questa vista è chiamata per eseguire una particolare azione. Viene chiamato quando viene eseguita l'azione "mostra".

  • Controller layout- Questa vista è presente all'interno della cartella dei layout. Per esempio,C:\xampp\htdocs\demo\app\views\layouts. Richiama le chiamate al metodo associate al controller appropriato. Il codice implementato nel layout verrà implementato come e quando richiesto.

  • Main layout - Questa visualizzazione del layout richiamerà l'azione principale e verrà mostrata per ogni controller o azione all'interno dell'applicazione web.

Differenza tra file .volt e .phtml

.volt .phtml
L'estensione .volt viene utilizzata quando il motore del modello impostato nell'applicazione è scritto in C .phtml viene utilizzato quando il motore del modello è PHP stesso
Può essere utilizzato come componente autonomo Non può essere utilizzato come componente autonomo
Le visualizzazioni Volt sono compilate in codice PHP Il file phtml stesso include il codice PHP, quindi non è necessaria la compilazione nel framework Phalcon

Variabili

Le variabili vengono assegnate e modificate nel modello utilizzando "set".

Dichiarazione di un array

{% set fruits = ['Apple', 'Banana', 'Orange'] %}

Dichiarare una stringa

{% set name = ”John Kennedy” %}

Commenti

I commenti possono anche essere aggiunti a un modello utilizzando il {# ... #}Delimitatori. Tutto il testo al loro interno viene semplicemente ignorato nell'output finale.

{# note: this is a comment 
   {% set price = 100; %} 
#}

Esempio

{% 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>

Produzione

Il codice produrrà la seguente schermata di output: