Phalcon - 视图
视图是呈现给最终用户的信息。视图可以视为具有要显示的适当响应的网页。响应通过与模型交互的控制器接收。
具体来说,在 Phalcon 中,视图由 Volt 代码、PHP 和 HTML 组成。在 Volt 模式下可以输入一组特殊分隔符。 {% ... %> 用于执行 for 循环或赋值等语句,{{ ... }> 用于将表达式的结果打印到模板中。
Phalcon 中的视图基本上分为两种类型 −
- Volt
- phtml
Volt
以下是我们在上一章中为项目 demo1 创建的输出的屏幕截图。
此输出是在文件 views/index/index.volt 的帮助下实现的。
Volt 文件的功能
它是一个用 javascript 编写的模板用 C 语言编写,与其他语言相比速度相当快。
它包含一组高度集成的组件,这些组件在 Phalcon 中非常有用。
它也可以用作独立组件。
Volt 被编译为纯 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 扩展名。给定项目的默认视图目录包含以下三个文件 −
操作视图 − 此视图用于执行特定操作。执行"显示"操作时会调用它。
控制器布局 − 此视图位于布局文件夹中。例如,C:\xampp\htdocs\demo\app\views\layouts。它调用与相应控制器关联的方法调用。布局中实现的代码将在需要时实现。
主布局 −此布局视图将调用主要操作,并将针对 Web 应用程序中的每个控制器或操作显示该操作。
.volt 和 .phtml 文件之间的区别
.volt | .phtml |
---|---|
当应用程序中设置的模板引擎使用 C 编写时,将使用 .volt 扩展名 | 当模板引擎本身是 PHP 时,将使用 .phtml |
它可以用作独立组件 | 它不能用作独立组件 |
Volt 视图被编译为 PHP 代码 | phtml 文件本身包含 PHP 代码,因此无需在 Phalcon 框架中进行编译 |
变量
使用"set"在模板中分配和更改变量。
声明数组
{% set fruit = ['Apple', 'Banana', 'Orange'] %}
声明字符串
{% set name = "John Kennedy" %}
注释
也可以使用 {# ... #> 分隔符将注释添加到模板中。注释内的所有文本在最终输出中都会被忽略。
{# note: this is a comment {% set price = 100; %} #}
Example
{% 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>
输出
代码将生成以下输出屏幕 −