ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
## 模板赋值 模板中的变量(除了一些系统变量外)必须先在**控制器**进行模板赋值后才能使用,可以使用`assign`方法进行全局模板变量赋值。 ~~~ namespace app\controller; use think\facade\View; class Index { public function index() { // 模板变量赋值 View::assign('name','ThinkPHP'); View::assign('email','thinkphp@qq.com'); // 或者批量赋值 View::assign([ 'name' => 'ThinkPHP', 'email' => 'thinkphp@qq.com' ]); // 模板输出 return View::fetch('index'); } } ~~~ `assign`方法赋值属于全局变量赋值,如果你需要单次赋值的话,可以直接在`fetch`方法中传入。 ~~~ namespace app\controller; use think\facade\View; class Index { public function index() { // 模板输出并变量赋值 return View::fetch('index', [ 'name' => 'ThinkPHP', 'email' => 'thinkphp@qq.com' ]); } } ~~~ 输出自定义变量之前我们需要给模版分配变量 ### **assign($string, $value)** ~~~ $data1['name'] = 'ThinkPHP'; $data1['email'] = 'thinkphp@qq.com'; $view->assign('data1',$data1); $data2=new stdClass(); $data2->name= = 'ThinkPHP'; $data2->email = 'thinkphp@qq.com'; $view->assign('data2',$data2); ~~~ 模版输出: ~~~ {$data1.name} //或者 {$data1['name']} ~~~ ~~~ {$data2:name} //或者 {$data2->name} ~~~ ### **assign($arr)** ~~~ \think\facade\View::assign(["name"=>"dash", 'age'=>18]); return \think\facade\View::fetch('form_builder/test'); ~~~ 模板输出 ~~~ <div> {$name}{$age} </div> ~~~ ### 助手函数 如果使用`view`助手函数渲染输出的话,可以使用下面的方法进行模板变量赋值: ~~~ return view('index', [ 'name' => 'ThinkPHP', 'email' => 'thinkphp@qq.com' ]); ~~~ 助手函数的变量赋值也是当次模板渲染有效。 模板文件中使用 ~~~ Hello,{$name}! ~~~