如果当前控制器的操作(方法)需要渲染页面,控制器的操作(方法)必须为 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();}}