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;

相关推荐
两个人的幸福2 小时前
Windows 桌面应用自研 PHP 队列(下):完整代码与六大工程化优化
php
BingoGo2 天前
PHP 泛型之殇 泛型 RFC 提案被拒绝
后端·php
JaguarJack2 天前
PHP 泛型之殇 泛型 RFC 提案被拒绝
后端·php
用户3074596982073 天前
PHP 扩展——从入门到理解
php
鹏仔先生4 天前
拷贝漫画APP下载页PHP程序,后台带免费AI写作
php
云水一下4 天前
从零开始学 PHP 系列(一):PHP 的前世今生与开发环境搭建
开发语言·php
xingpanvip4 天前
星盘接口开发文档:本命盘接口指南
android·开发语言·css·php·lua
酉鬼女又兒4 天前
零基础入门计算机网络运输层:端到端通信核心作用、端口号分类规则、复用分用工作机制及UDP与TCP协议全方位对比详解
网络·网络协议·tcp/ip·计算机网络·考研·udp·php
dog2504 天前
不要再继续优化 TCP
网络协议·tcp/ip·php
Channing Lewis4 天前
PHP 解析 Excel 的那些坑:一次“行号错位”引发的数据丢失
开发语言·php·excel