1、加载模板
核心概念:
模板输出不需要模板文件的路径和后缀,也不需要有实际对应的控制器和操作,只是一个目录名称和文件而已。
你的项目里根本没有public控制器,更没有menu操作,但是一样可以使用 return View::fetch('public/menu');
要注意模板文件位置是相对于应用的入口文件,而不是模板目录。
一 加载模板
1 先下载视图拓展
composer require topthink/think-view
2 引入门面模式下的视图类
use think\facade\View;
3 加载模板
//1:fetch方法 return View::fetch('index'); //2 助手函数 return View('index');//调用当前控制器下的 index模板 //1 调用其他控制器的模板 return View::fetch('login/index'); //2 调用其他模块的模板 return View::fetch('index@index/index'); //3 视图根目录输出 return View::fetch('/index'); //5 调用public下的模板 return View::fetch('../../../public/index');
//6 自定义模板文件位置
return view('../../../mb/index');
二 视图过滤
//1 fetch方法 return View::filter(function ($content){ return strtoupper($content); })->fetch('index',[ 'name'=>'libai', 'age'=>30 ]); //2 助手函数 view::assign([ 'name'=>'zhangfei', 'sex'=> 'man', 'age'=>25 ]); return View('index')->filter(function ($content){ return strtoupper($content); });
三 配置文件
配置文件目录config文件下view.php
return [ // 模板引擎类型使用Think 'type' => 'Think', // 默认模板渲染规则 1 解析为小写+下划线 2 全部转换小写 3 保持操作方法 'auto_rule' => 1, // 模板目录名 'view_dir_name' => 'view', // 模板后缀 'view_suffix' => 'html', // 模板文件名分隔符 这个常量是个斜杠 'view_depr' => DIRECTORY_SEPARATOR, // 模板引擎普通标签开始标记 'tpl_begin' => '{', // 模板引擎普通标签结束标记 'tpl_end' => '}', // 标签库标签开始标记 'taglib_begin' => '{', // 标签库标签结束标记 'taglib_end' => '}', ];
四 如果希望直接解析内容而不通过模板文件的话,可以使用 display 方法:
public function index() { $abc = '{$name}-{$age}'; return View::display($abc,[ 'name'=>'李锐', 'age'=>30 ]); }

浙公网安备 33010602011771号