[TOC] 系统视图类`woo\common\View`,它实现了数组接口 控制器中`$this->assign`就是该视图类的实例,$this->assign可以当数组使用。 ## 模板变量赋值 ~~~ // 1、变量赋值 模板文件中就可以使用$var变量获取到值了 $this->assign->var = ['a' => 'aa', 'b' => 'bb']; // 可以这样修改赋值 $this->assign->var['a'] = 'aaa'; // 2、可以通过控制器的assign方法赋值 $this->assign('var1', 'aaa'); // 3、当然可以按照TP原本方式赋值 \think\facade\View::assign('var2', 'bbb'); // 4、通过wooview函数赋值 意味着其他文件也能赋值了(太骚了,不建议这样搞) wooview()['var3'] = 'ccc'; // 5、通过fetch指定模板文件的时候也可以赋值 $this->fetch('xx', ['var4' => 'ddd']); // 6、都已经指定完了模板 还可以赋值或修改 这是TP本身或其他系统所不允许的 $this->assign->var['a'] = 'aaaa'; ~~~ 模板中: ~~~ {:pr($var)} {$var1} {$var2} {$var3} {$var4} ~~~ ## 指定模板文件 ~~~ //1、可以使用TP原本方式 不建议了 //return \think\facade\View::fetch(); //2、定位到 当前控制器小写+下划线/方法名.html //return $this->fetch(); //3、先找 当前控制器小写+下划线/xx.html;如果没有,就找视图根目录下/xx.html //深入理解下3,你便可以理解为什么添加、列表即可以自定义一个自己的模板文件,如果没有又可以使用默认模板文件了 //return $this->fetch('xx'); //4、指定具体目录和模板文件 // return $this->fetch('/aa/xx');// 直接定位到 aa/xx.html 以/开始 //5、直接定位到根目录下 return $this->fetch('/xx');// 直接定位到 视图根目录下/xx.html 以/开始 ~~~