Представления — это информация, предоставляемая конечному пользователю. Представление можно рассматривать как веб-страницу с соответствующим отображаемым ответом. Ответ получен через контроллер, который взаимодействует с моделью.
В частности, в 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>
Выход
Код выдаст следующий экран вывода —