Laravel 5.1将类中的视图返回到控制器

时间:2016-07-10 21:37:56

标签: laravel laravel-5.1

我有以下控制器:

class MyController extends Controller {
  public function getTestView() {
      return view("user::index");
  }
}

而不是直接从我的控制器方法返回视图,我想 有另一个对象负责在添加一些计算代码后返回此视图。

这是我的班级:

class User extends AbstractPerson {

    function __construct() {    
       $this->initView();
    }

    private function initView(){
      return view('user::index');
    }
}

我的控制器现在看起来像这样:

 class MyController extends Controller {
     public function getTestView() {
         return new User();
     }
 }

调用后我收到以下错误:

  

Response.php第395行中的UnexpectedValueException:响应内容必须是实现__toString(),“object”的字符串或对象。

任何想法为什么?感谢

2 个答案:

答案 0 :(得分:0)

尝试遵循异常所说的内容:

    class User extends AbstractPerson {

    function __toString() {    
       return $this->initView();
    }

    private function initView(){
      return view('user::index');
    }
}

答案 1 :(得分:0)

控制器应该返回一个响应对象,你只是返回一个新的User对象。

class MyController extends Controller {
   public function getTestView() {
       User u = new User();
       return u->initView();
   }
}