Учебники

Phalcon — Просмотров

Представления — это информация, предоставляемая конечному пользователю. Представление можно рассматривать как веб-страницу с соответствующим отображаемым ответом. Ответ получен через контроллер, который взаимодействует с моделью.

В частности, в Phalcon представление состоит из кода Volt, PHP и HTML. Набор специальных разделителей доступен для ввода в режиме Вольт. {% …%} используется для выполнения операторов, таких как циклы for или присваивания значений, а {{…}} выводит результат выражения в шаблон.

Представления в Фальконе в основном делятся на два типа —

  • вольт
  • PHTML

вольт

Ниже приведен скриншот вывода, который мы создали для проекта demo1 в предыдущей главе.

Просмотры

Этот вывод достигается с помощью файла views / index / index.volt .

Особенности файлов Volt

  • Этот шаблон написан на языке Си и значительно быстрее по сравнению с другими языками.

  • Он включает в себя набор высокоинтегрированных компонентов, которые очень полезны в Phalcon.

  • Его также можно использовать как отдельный компонент.

  • Вольт скомпилирован в чистый код PHP.

Этот шаблон написан на языке Си и значительно быстрее по сравнению с другими языками.

Он включает в себя набор высокоинтегрированных компонентов, которые очень полезны в Phalcon.

Его также можно использовать как отдельный компонент.

Вольт скомпилирован в чистый код PHP.

Ниже приведен код для index.volt, который загружается по умолчанию для любого проекта.

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

Иерархический рендеринг

Представления в Phalcon поддерживают иерархический рендеринг, а Phalcon \ Mvc \ View используется в качестве компонента рендеринга по умолчанию. Этот компонент использует PHP в качестве движка шаблонов по сравнению с файлами VOLT, которые используют C в качестве языка шаблонов.

Эти представления должны иметь расширение .phtml . Каталог представлений по умолчанию для данного проекта состоит из следующих трех файлов:

  • Представление действия — это представление вызывается для выполнения определенного действия. Вызывается, когда выполняется действие «show».

  • Макет контроллера — это представление находится внутри папки макетов. Например, C: \ xampp \ htdocs \ demo \ app \ views \ layout . Он вызывает вызовы методов, связанные с соответствующим контроллером. Код, реализованный в макете, будет реализован по мере необходимости.

  • Основной макет — это представление макета вызовет основное действие и будет отображаться для каждого контроллера или действия в веб-приложении.

Представление действия — это представление вызывается для выполнения определенного действия. Вызывается, когда выполняется действие «show».

Макет контроллера — это представление находится внутри папки макетов. Например, C: \ xampp \ htdocs \ demo \ app \ views \ layout . Он вызывает вызовы методов, связанные с соответствующим контроллером. Код, реализованный в макете, будет реализован по мере необходимости.

Основной макет — это представление макета вызовет основное действие и будет отображаться для каждого контроллера или действия в веб-приложении.

Разница между .volt и .phtml файлами

.volt .phtml
Расширение .volt используется, когда механизм шаблонов, установленный в приложении, написан на C .phtml используется, когда механизм шаблонов — сам PHP
Может использоваться как отдельный компонент Он не может использоваться как отдельный компонент
Вольт-представления компилируются в код PHP phtml-файлы сами по себе включают PHP-код, поэтому нет необходимости компиляции в инфраструктуре Phalcon

переменные

Переменные присваиваются и изменяются в шаблоне с помощью «set».

Объявление массива

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

Объявление строки

{% set name = ”John Kennedy” %} 

Комментарии

Комментарии также могут быть добавлены в шаблон с помощью разделителей {# … #} . Весь текст внутри них просто игнорируется в конечном выводе.

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

пример

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

Выход

Код выдаст следующий экран вывода —