在 thinkphp 中,fetch 方法用于渲染模板文件输出,该方法不会直接渲染输出,而是支持模板或者内容的标签解析,返回解析后的内容,渲染输出系统也会自动调用 send 方法进行渲染输出,语法为 “$this->fetch (模板名称);”。
本文操作环境:Windows10 系统、ThinkPHP3.2 版、Dell G3 电脑。
thinkphp 中 fetch 方法怎么用
实例化视图类
5.0 模板渲染提供了 fetch 和 display 两个方法,最常用的是 fetch
fetch 方法用于渲染模板文件输出,而
display 方法则是渲染内容输出。
代码语言:javascript复制// 实例化视图类
$view = new thinkView();
// 渲染模板输出
return $view->fetch();
如果你的控制器继承了 thinkController 类的话,则可以直接使用
代码语言:javascript复制// 渲染模板输出
return $this->fetch();
需要注意的是,ThinkPHP5 的视图 fetch 方法不会直接渲染输出,只是返回解析后的内容。如果在控制器类返回 视图解析内容的话,渲染输出系统会自动调用 thinkResponse 类的 send 方法进行渲染输出。
模板定位规则
模板文件目录默认位于模块的 view 目录下面,视图类的 fetch 方法中的模板文件的定位规则如下:
如果调用没有任何参数的 fetch 方法:
代码语言:javascript复制return $view->fetch();
则按照系统的默认规则定位模板文件到:
>[info] ### [模板文件目录]/ 当前控制器名(小写)/ 当前操作名(小写).html
如果(指定操作)调用:
代码语言:javascript复制return $view->fetch('add');
则定位模板文件为:
>[info] ### [模板文件目录]/ 当前控制器名 /add.html
如果调用控制器的某个模板文件使用:
代码语言:javascript复制return $view->fetch('user/add');
则定位模板文件为:
[模板文件目录]/user/add.html
全路径模板调用:
代码语言:javascript复制return $view->fetch(MODULE_PATH.'view/public/header.html');
则定位模板文件为:
MODULE_PATH.'view/public/header.html'
源码附件已经打包好上传到百度云了,大家自行下载即可~
代码语言:javascript复制链接: https://pan.baidu.com/s/14G-bpVthImHD4eosZUNSFA?pwd=yu27
提取码: yu27
百度云链接不稳定,随时可能会失效,大家抓紧保存哈。
如果百度云链接失效了的话,请留言告诉我,我看到后会及时更新~
开源地址
码云地址: http://github.crmeb.net/u/defu
Github 地址: http://github.crmeb.net/u/defu