模板赋值

最后更新于:2022-04-01 21:23:18

## 模板赋值 除了系统变量和配置参数输出无需赋值外,其他变量如果需要在模板中输出必须首先进行模板赋值操作,绑定数据到模板输出有下面几种方式: |版本|新增功能| |---|---| |5.0.4|增加全局静态模板赋值方法`share`| ### `assign`方法 ~~~ namespace index\app\controller; class Index extends \think\Controller { public function index() { // 模板变量赋值 $this->assign('name','ThinkPHP'); $this->assign('email','thinkphp@qq.com'); // 或者批量赋值 $this->assign([ 'name' => 'ThinkPHP', 'email' => 'thinkphp@qq.com' ]); // 模板输出 return $this->fetch('index'); } } ~~~ ### 传入参数方法 方法fetch 及 display 均可传入模版变量,例如 ~~~ namespace app\index\controller; class Index extends \think\Controller { public function index() { return $this->fetch('index', [ 'name' => 'ThinkPHP', 'email' => 'thinkphp@qq.com' ]); } } ~~~ ~~~ class Index extends \think\Controller { public function index() { $content = '{$name}-{$email}'; return $this->display($content, [ 'name' => 'ThinkPHP', 'email' => 'thinkphp@qq.com' ]); } } ~~~ ### 助手函数 如果使用view助手函数渲染输出的话,可以使用下面的方法进行模板变量赋值: ~~~ return view('index', [ 'name' => 'ThinkPHP', 'email' => 'thinkphp@qq.com' ]); ~~~ ### `share`方法 `V5.0.4+`开始,支持在任何地方使用静态方法进行模板变量赋值,例如: ~~~ think\View::share('name','value'); // 或者批量赋值 think\View::share(['name1'=>'value','name2'=>'value2']); ~~~ 全局静态模板变量最终会和前面使用方法赋值的模板变量合并。
';