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;

相关推荐
北京盛世宏博10 小时前
工业环境监测选型:Modbus TCP以太网温湿度传感器部署、调试、避坑全指南
开发语言·网络·php
4SAPI10 小时前
AI API Gateway平台哪个好?从架构视角看企业多模型网关选型与实践
java·大数据·人工智能·gateway·php
ly768911 小时前
MongoDB 副本集选举风暴排查:从心跳超时到 Journal 刷盘阻塞
数据库·mongodb·php·mongodb 副本集·选举风暴·journal 刷盘·writeconcern
源图客11 小时前
浏览器开发者工具使用
开发语言·php
qetfw12 小时前
Debian iptables 防火墙:默认拒绝、SNAT 与 DNAT 验证
linux·服务器·debian·php
ESDWAN14 小时前
跨境网络频繁掉线怎么排查?从企业内网到 SD-WAN 链路的故障诊断
开发语言·网络·php
禾小西16 小时前
06丨Redis 数据同步:主从库如何实现数据一致?
数据库·redis·php
Zooproxy全球IP代理17 小时前
海外代理IP纯净度评估:指标、检测与调度实践
网络协议·tcp/ip·php
Solis程序员17 小时前
Stripe 幂等表:把「不确定的重试」变成「查表返回」
前端·安全·bootstrap·php·agent
PHP实战开发录17 小时前
MySQL数字排序为什么乱
数据库·mysql·php