thinkphp 模板解析

Controller.php => View.php =>Thinkphp.php =》Template.php => File.php

1 D:\thinkphp\thinkphp\library\think\Controller.php 初始化时(__construct)把:config里关于模板的配置传template和进去

'template' => // 模板引擎类型 支持 php think 支持扩展 'type' =\> 'Think', // 模板路径 'view_path' =\> '', // 模板后缀 'view_suffix' =\> 'html', // 模板文件名分隔符 'view_depr' =\> DS, // 模板引擎普通标签开始标记 'tpl_begin' =\> '{', // 模板引擎普通标签结束标记 'tpl_end' =\> '}', // 标签库标签开始标记 'taglib_begin' =\> '{', // 标签库标签结束标记 'taglib_end' =\> '}', ,

// 视图输出字符串内容替换 'view_replace_str' => \[\],

四个方法:(没什么实际用处,主要负责把内容传递给view里的相对于方法) fetch() assing() engine() display()

这个文件主要实例化视图实例View

2 D:\thinkphp\thinkphp\library\think\View.php

初始化时定义了静态文件路径

root, 'URL ' => request->module() . '/' . Loader::parseName(root . '/static', 'CSS' => root . '/static/js', ];

engine()方法,规定了使用什么模板引擎,默认事Think

D:\thinkphp\thinkphp\library\think\view\driver\Think.php

1 初始化方法里给设置了默认模板路径view_path if (empty(this->config'view_path' = App::$modulePath . 'view' . DS; } 2 fetch() 判断模板是否存在。 调用Temptpl里的fetch方法,把模板路径和解析内容传递过去。

D:\thinkphp\thinkphp\library\think\Template.php 1 初始化方法定义了缓存路径 $this->config'cache_path' = TEMP_PATH;

相关推荐
旋生万物9 小时前
【终极实战】用Python从零“生成“一个宇宙:螺旋干涉模型的代码实现
开发语言·前端·人工智能·react.js·php·wpf
艾醒(AiXing-w)12 小时前
LangChain 1.0 入门(三):稳定性双核心——重试机制+速率限速器参数详解与实战
开发语言·langchain·php
宸津-代码粉碎机13 小时前
FastUtil+AI多Agent实战:Java AI项目性能终极加速方案
java·服务器·开发语言·python·安全·php
练习时长两年半的RL练习生15 小时前
与AI对话后对 Actor-Critic 中 TD Target 的 a‘ 来源总结
开发语言·人工智能·php
Sagittarius_A*17 小时前
【好靶场】PHP反序列化绕过
web安全·信息安全·php·代码审计·反序列化绕过
孫治AllenSun17 小时前
【系统安全】信息脱敏存储:场景、需求与实现方案详解
安全·系统安全·php
aixingpan19 小时前
aixingpan.cn API开发文档:api_docs_errors接口指南
前端·php
FYKJ_201020 小时前
django学习成绩预警系统10905
java·javascript·spring boot·python·spark·django·php
BingoGo21 小时前
NativePHP v4 让 Blade 构建原生 iOS 与 Android 界面
后端·php
JaguarJack21 小时前
NativePHP v4 让 Blade 构建原生 iOS 与 Android 界面
后端·php·服务端