如果当前控制器的操作(方法)需要渲染页面,控制器的操作(方法)必须为 private(私有),这一点是单页模式后端开发的重点。如果当前控制器是一个接口(不需要渲染页面)则需用 public
private function index(){
return view('index');
}
并且在当前控制器文件中新建一个_empty 操作。原理则是,前台请求页面不能请求到私有方法,会执行_empty操作:利用这一特性我们在此方法中加入页面布局代码实现单页。完整原理解释参考tp5官方文档空操作
//将所有页面指向此操作,注意:此操作请使用public,否则无法访问
public function _empty($name) {
//此处可以写自己的一些需求代码...
//以下代码必须建在每个控制器的_empty的操作中
$func = $this->loadHomeTpl($name);
if(is_object($func)){
return $func;
}else{
return $this->$func();
}
}