个性化阅读
专注于IT技术分析

VOLT:模板引擎

Volt提供了Phalcon快速执行, 因为它非常快速, 并且是用C语言为PHP编写的对设计人员友好的模板语言。它定义了许多帮助程序来编写视图。 Volt受Jinja启发, 由Armin Ronacher撰写。

实例

Volt视图以php编译, 从而节省了手动编写php代码的时间。

{# app/views/products/show.volt #}
{% block last_products %}
{% for product in products %}
    * Name: {{ product.name|e }}
    {% if product.status === 'Active' %}
       Price: {{ product.price + product.taxes/100 }}
    {% endif  %}
{% endfor  %}
{% endblock %}

激活电压

在此, 我们在扩展名为.phtml的视图组件中注册Volt。

<?php
use Phalcon\Mvc\View;
use Phalcon\Mvc\View\Engine\Volt;
// Register Volt as a service
$di->set(
    'voltService', function ($view, $di) {
        $volt = new Volt($view, $di);
        $volt->setOptions(
            [
                'compiledPath'      =>'../app/compiled-templates/', 'compiledExtension' => '.compiled', ]
        );
        return $volt;
    }
);
// Register Volt as template engine
$di->set(
    'view', function () {
        $view = new View();
        $view->setViewsDir('../app/views/');
        $view->registerEngines(
            [
'.volt' => 'voltService', ]
        );
        return $view;    });

可用电压选项

Option Description Default
compiledPath 放置已编译PHP模板的可写路径 ./
compiledExtension 附加的扩展名附加到已编译的PHP文件中 .php
compiledSeparator Volt用此分隔符替换目录分隔符/和\, 以便在已编译目录中创建单个文件 %%
Stat Phalcon是否必须检查模板文件及其编译路径之间是否存在差异 True
compileAlways 告诉Volt模板是否必须在每个请求中编译或仅在它们更改时编译 False
Prefix 允许在编译路径中在模板之前添加前缀 Null
autoescape 启用HTML的全局自动转义 False

变数

对象变量可能具有可以使用以下语法访问的属性:foo.bar。如果要传递数组, 则必须使用方括号语法:foo [‘bar’]

{{ post.title }} {# for $post->title #}
{{ post['title'] }} {# for $post['title'] #}

筛选器

可以使用过滤器格式化或修改变量。管道运算符(|)用于将过滤器应用于变量:

{{ post.title|e }}
{{ post.content|striptags }}
{{ name|capitalize|trim }}

以下是可以使用的过滤器列表:

Filter Description
abs 将Abs PHP函数应用于一个值。
Capitalize 通过将ucwords PHP函数应用于该值来大写字符串
convert_encoding 将字符串从一个字符集转换为另一个字符集
Default 设置默认值, 以防评估的表达式为空(未设置或评估为伪造的值)
escape 将Phalcon \ Escaper-> escapeHtml()应用于值
escape_attr 将Phalcon \ Escaper-> escapeHtmlAttr()应用于该值
json_encode 将值转换为其JSON表示形式
json_decode 将值从其JSON表示形式转换为PHP表示形式
赞(0)
未经允许不得转载:srcmini » VOLT:模板引擎

评论 抢沙发

评论前必须登录!