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 小时前
Linux 网络性能测试实战:用 iperf3 精准测出真实带宽与丢包率
linux·网络·php·iperf3
DKunYu11 小时前
5.网络原理之TCP_IP
网络·tcp/ip·php
ooooooctober12 小时前
PHP代码审计框架性思维的建立
android·开发语言·php
Q_Q51100828512 小时前
python+django/flask的宠物用品系统vue
spring boot·python·django·flask·node.js·php
u***u68519 小时前
PHP最佳实践
开发语言·php
Amber_3720 小时前
php的数组和python的列表 -- 横向对比学习
python·学习·php
悠悠~飘1 天前
18.PHP基础-递归递推算法
算法·php
海域云赵从友1 天前
破解跨境数据传输瓶颈:中国德国高速跨境组网专线与本地化 IP 的协同策略
开发语言·php
暂时先用这个名字2 天前
信创时代下,PHP/MySQL应用的平滑迁移与运维管理升级(AI整理)
运维·mysql·php·信创·国产化·国产·迁移
星光一影2 天前
陪诊陪检系统源码,陪诊小程序,陪诊APP,陪诊服务,家政上门系统,居家护理陪护源码
mysql·小程序·uni-app·php