Laravel8中构造方法中不能写return的解决办法
今天想在控制器Controller构造函数中写一个公共变量,供方法使用,其中有设计到参数的拦截,然后要返回一个json,结果试了半天return json 根本就不执行,后来才想明白
今天想在控制器Controller构造函数中写一个公共变量,供方法使用,其中有设计到参数的拦截,然后要返回一个json,结果试了半天return json 根本就不执行,后来才想明白
构造函数是一个没有返回值的特殊函数,所有即使加上return也没意义,他不会执行的。
不仅php,所有面向对象的语言的构造函数都没有return
解决思路,使用中间件进行拦截处理就可以了
贴出控制器中使用中间件的代码示例
class UserController extends Controller
{
/**
* 实例化一个新的控制器实例
*
* @return void
*/
public function __construct()
{
$this->middleware('auth');
$this->middleware('log')->only('index');
$this->middleware('subscribed')->except('store');
}
}
//闭包形式
$this->middleware(function ($request, $next) {
return $next($request);
});
以上这篇laravel8中构造方法中不能写return的解决办法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持芦苇派。
原创文章,作者:ECHO陈文,如若转载,请注明出处:https://www.luweipai.cn/php/1663203582/