注意事项
控制器应该与目录同名,否则就是夸目录调用
目录位置
dome6.php实例
<?php namespace app\index\controller; // use think\View; // use think\facade\View; use think\Controller; class Dome6 extends Controller { function index() { return '你好'; } //模板渲染 // function index1(View $view) function index1() { $data = '张大哥'; //使用视图类的display()渲染模板(1.依赖注入方式,2.facade静态代理) // return $view->display($name); //display相当于模板输出 // return View::display($name); //模板表达式 以模块下的view为更目录 //fetch()指定一个模本输出内容 //表达式:模块@控制器/操作方法 //可以忽略模块 // return View::fetch('index@index/index1',['data'=>$data]); //使用控制器中的$view来调用View的fetch() // return $this->view->fetch('index/index1',['data'=>$data]); //跳过view // return $this->fetch('index/index1',['data'=>$data]); //简写 // return $this->fetch('index1',['data'=>$data]); // 使用assign() $this->assign('data',$data); return $this->fetch(); // 使用助手函数,不依赖任何类 // return view('',['data'=>$data]); } //模板赋值 function index2() { //模板变量赋值 // $this->view->assign('name','张三'); // $this->view->assign('data','PHP'); //批量模板赋值 // $this->assign(['name'=>'李四','data'=>'前端']); //对象赋值 $this->view->name='王老五'; $this->view->data='今天周末'; return $this->fetch(); } //模板过滤替换 function index3() { //对象赋值 $this->view->name='王老五'; $this->view->data='今天周末'; return $this->filter(function ($date){ return str_replace('王老五','江小白',$date); })->fetch(); } }
运行实例 »
点击 "运行实例" 按钮查看在线实例
下边是三个小模板
index1.html <h2>这里是模板<h1>1</h1>的内容输入</h2> <h3>这是输出的值 : <strong >{$data}</strong></h3> index2.html <h2>这里是模板 <span style="color: red"> 2 </span>的内容输出</h2> <h3>这是 name 输出的值 : <span style="color: red"> {$name} </span></h3> <h3>这是 data 输出的值 : <span style="color: red"> {$data} </span></h3> index3.html <h2>这里是模板 <span style="color: red"> 3 </span>的内容输出</h2> <h3>这是 name 输出的值 : <span style="color: red"> {$name} </span></h3> <h3>这是 data 输出的值 : <span style="color: red"> {$data} </span></h3>