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;

相关推荐
niucloud-admin1 天前
NIUCLOUD PHP SAAS上门家政使用文档:城市管理
java·前端·php
ESDWAN1 天前
企业网络监控应该监测哪些目标?网关、网络节点还是业务系统?
服务器·网络·php
呆呆虫121 天前
用 orjson 加速 SerpBase 响应解析:基准对比与注意事项
开发语言·php
中科三方1 天前
IPv6检测常见问题:AAAA记录检测不通过是什么原因?
开发语言·php
云边云科技_云网融合1 天前
面向汽车零部件制造业场景的解决方案 | 70 秒:一台车下线的时间里,藏着五张网
开发语言·汽车·php
李纲明2 天前
WordPress 媒体库上传图片失败:先核 PHP 体积与目录权限,再查安全插件与对象存储
php·上传·wordpress·媒体库·devdiy
海域云SeaArea_2 天前
Windows Server 2008 R2 从零安装 IIS7.5(二):php.ini 配置
开发语言·windows·php
niucloud-admin2 天前
NIUCLOUD PHP SAAS上门家政使用文档:服务保障
java·开发语言·php
honsor2 天前
用 Grafana 做温湿度异常检测:从阈值告警到趋势预测
数据库·mysql·php
开源推荐官2 天前
多门店 O2O 商城选型复盘:从开发视角对比主流开源系统
java·架构·开源·php