tp5.1中include不能使用变量修改方法

本文解决了一个在项目开发过程中遇到的问题:当使用包含多个模板文件的变量加载模板时,系统默认引擎无法正确解析。通过修改ThinkPHP的Template.php文件,实现了对以$开头的字符串作为模板变量的正确处理。

在开发项目中项目引入的文件不是固定,当在模板中使用此标签,系统出错无法加载模板,

我的变量中,加载的是多个模板文件如  public/1.html,public/2.html,public/3.html,public/4.html

{include file="$_File" /}

因为解析模板标签是用的系统默认引擎所以去找了系统中文件,根目录\thinkphp\library\think\Template.php

找到538行,插入以下代码

// 以$开头字符串转换成模板变量
if (0 === strpos($file, '$')) {
    $file = $this->get(substr($file, 1));
}

 

修改前代码

修改后代码

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值