我有以下控制器:
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”的字符串或对象。
任何想法为什么?感谢
答案 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();
}
}