Thinkphp 初始化initialize构造函数里return返回的办法

编辑整理:
老秦
热度:
1186

Thinkphp 初始化initialize函数里不能return会继续执行后续代码。

Thinkphp 初始化initialize构造函数里是不能return的,会继续执行后续代码。86ff1

那如果一定要结束并输出怎么办呢?86ff1


426e6c5

方法一:echo可以输出,但是要用exit或者die结束执行。426e6c5

public function initialize() {426e6c5

        echo('出错');exit;0a393016

}41e466


86ff1

方法二:json()->send();然后用exit或者die结束执行。426e6c5

此法兼容一般,有时候需要先echo($msg)才行,切不能输出空白。41e466

public function initialize() {86ff1

       json(['msg'=>'出错'])->send();426e6c5

       die();

6dc0

}426e6c5


86ff1

方法三:使用中间件

6dc0

详见官方说明。但是写得有点问题。www.9lyp.com

中间代码逻辑,需要返回时可以直接用:426e6c5

return json($res);

6dc0

或者12ad6e7

return response($msg);
86ff1


0a393016


6dc0

41e466