Phalcon搭建多模块框架三:扩展volt模板引擎

在Phalcon多模块框架中,Volt模板引擎默认不支持PHP函数。为实现对PHP函数的调用,需要对Volt进行扩展。通过在library/extensions创建VoltExtension.php,实现编译和过滤时调用PHP函数的功能。具体步骤包括在ViewController.php控制器中添加indexAction方法,创建相应的Volt模板,并在services.php配置文件中更新Volt服务设置。
摘要由CSDN通过智能技术生成

volt模板引擎并不直接支持php函数,有时候我们会用到php函数进行输出过滤或者格式化,所以我们得对volt进行扩展。我们可以先做个测试:
在home模块下的ViewController.php控制器中创建一个indexAction()的方法。如下图所示:
这里写图片描述
在对应的视图目录下创建index.volt模板,如下图所示:

这里写图片描述
这个时候访问view/index就会报错。
这里写图片描述
下面就开始对volt引擎做扩展:
这里写图片描述
1、在library/extensions目录下创建VoltExtension.php扩展。
这里只扩展了在编译(compileFunction)和过滤(compileFilter)时使用php函数,你也可以根据需要加入别的规则

<?php
/** 
 * @desc volt模板引擎扩展 
 * @author zhaoyang 
 * @date 2018年5月5日 下午9:06:34 
 */
namespace Library\Extensions;

class VoltExtension {
   

    /** 
     * @desc Triggered before trying to compile any function call in a template 
     * @author zhaoyang 
     * @date 2018年5月5日 下午9:06:55 
     */
    public function compileFunction($name, $arguments) {
   
        if (function_exists($name)) {
            return $name . '(' . $arguments . ')';
        }
    }

    /** 
     * @desc Triggered before trying to compile any filter call in a template 
     * @author zhaoyang 
     * @date 2018年5月5日 下午9:07:07 
     */
    public function compileFilter($name, $arguments) {
   
        if (function_exists($name)) {
            return $name . '(' . $arguments . ')';
        }
    }

    /** 
     * @des
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值