php 模板替换,ThinkPHP 模板特殊字符串替换

模板特殊字符串替换

ThinkPHP 系统定义了一些特殊的字符串(常量)以方便在模板中的使用,这些特殊字符串给模板的应用带来了极大的便利。

这些特殊的字符串是在进行模板输出之前有系统自动替换的,默认的模板特殊字符串如下:

../Public:当前项目的公共模板目录,通常是 /项目目录/Tpl/default/Public/

__PUBLIC__:当前网站的公共目录,通常是 /Public/

__TMPL__:项目的模板目录,通常是 /项目目录/Tpl/default/

__ROOT__:当前网站的地址(不含域名)

__APP__:当前项目的 URL 地址(不含域名)

__URL__:当前模块的 URL 地址(不含域名)

__ACTION__:当前操作的 URL 地址(不含域名)

__SELF__:当前的页面 URL

定义项目文件为网站根目录下 Home 目录

当前模块为:Index

当前操作为:index

当前页面 URL 则为:http://www.5idev.com/index.php/Index/index

那么上述特殊字符在 index.html 模板中被解释为:

../Public:/Home/Tpl/default/Public/

__PUBLIC__:/Public/

__TMPL__:/Home/Tpl/default/

__ROOT__:网站根目录

__APP__:/index.php

__URL__:/index.php/Index

__ACTION__:/index.php/Index/index

__SELF__:/index.php/Index/index(页面实际地址)

模板替换补充说明

__PUBLIC__:会定位于 DOCUMENT_ROOT 级别的根目录下。

__ROOT__:则与项目入口文件有关,不一定定位于 DOCUMENT_ROOT 下。

__ACTION__:行为类似于 $_SERVER['REQUEST_URI'] ,当改写了访问 URL 时(如利用 .htaccess 文件),其结果与 __SELF__ 不一致。

__SELF__:行为类似于 $_SERVER['PHP_SELF'] ,通常是实际页面地址。

以上特殊字符严格区分大小写,在实际应用中最好根据自己的项目部署情况经过具体测试后使用,以免产生不可预知的问题。

例子1,首页链接:

首页

例子2,加载公共目录 CSS 文件:

例子3,提交表单数据:

自定义特殊替换字串

ThinkPHP 支持用户更改默认的替换规则甚至定义自己的模板替换特殊字符串。在项目配置文件中配置 TMPL_PARSE_STRING 选项以更改或增加模板替换字符串,如:

TMPL_PARSE_STRING => array(

'__PUBLIC__' => '/Common', // 更改默认的 __PUBLIC__ 替换规则

'__UPLOAD__' => '/Public/Uploads/', // 增加新的上传路径替换规则

)

参考阅读

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值