ThinkPHP启用模板布局后使用系统常量

本文探讨了在开启模板布局后,如何正确使用系统常量进行URL解析的问题,并提供了相应的解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

问题描述:
1.之前没有在config.php里面开启'LAYOUT_ON'=>true,时,在模板中直接使用__URL__等是可以解析的。
没有开启模板布局
2.开启模板布局后,在模板里面使用则无法解析,如果在对应的方法里面关闭布局C('LAYOUT_ON', false);则又可以解析
开启模板布局后
源码

解决思路:
在开启模板布局后,按照之前在模板中直接写'__URL__'是不对的,系统常量应该改写成$Think.const.__URL__等的模式

我之前将模板定界符修改成

    'TMPL_L_DELIM'=>'<!--{',
    'TMPL_R_DELIM'=>'}-->',

所以对应的模板源码应该是

src=<!--{$Think.const.__URL__}-->/verify

中间不需要连接符

附:系统常量

    IS_CGI 是否属于 CGI模式  
    IS_WIN 是否属于Windows 环境  
    IS_CLI 是否属于命令行模式  
    __ROOT__ 网站根目录地址  
    __APP__ 当前应用(入口文件)地址  
    __MODULE__ 当前模块的URL地址  
    __CONTROLLER__ 当前控制器的URL地址  
    __ACTION__ 当前操作的URL地址  
    __SELF__ 当前URL地址  
    __INFO__ 当前的PATH_INFO字符串  
    __EXT__ 当前URL地址的扩展名  
    MODULE_NAME 当前模块名  
    MODULE_PATH 当前模块路径
    CONTROLLER_NAME 当前控制器名  
    CONTROLLER_PATH 当前控制器路径 3.2.3新增
    ACTION_NAME 当前操作名  
    APP_DEBUG 是否开启调试模式  
    APP_MODE 当前应用模式名称  
    APP_STATUS 当前应用状态
    STORAGE_TYPE 当前存储类型
    MODULE_PATHINFO_DEPR 模块的PATHINFO分割符
    MEMORY_LIMIT_ON 系统内存统计支持  
    RUNTIME_FILE 项目编译缓存文件名  
    THEME_NAME 当前主题名称  
    THEME_PATH 当前模板主题路径  
    LANG_SET 当前浏览器语言  
    MAGIC_QUOTES_GPC MAGIC_QUOTES_GPC 
    NOW_TIME 当前请求时间(时间戳)
    REQUEST_METHOD 当前请求类型
    IS_GET 当前是否GET请求 
    IS_POST 当前是否POST请求
    IS_PUT 当前是否PUT请求 
    IS_DELETE 当前是否DELETE请求 
    IS_AJAX 当前是否AJAX请求 
    BIND_MODULE 当前绑定的模块(3.2.1新增)
    BIND_CONTROLLER 当前绑定的控制器(3.2.1新增)
    BIND_ACTION 当前绑定的操作(3.2.1新增)
    CONF_EXT 配置文件后缀(3.2.2新增)
    CONF_PARSE 配置文件解析方法(3.2.2新增)
    TMPL_PATH 用于改变全局视图目录(3.2.3新增)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值