美文网首页
Laravel 在构造方法中使用session

Laravel 在构造方法中使用session

作者: soeben | 来源:发表于2017-11-06 00:14 被阅读0次

在一个控制器的构造方法中尝试了全部常规获取session的方法,均无法获取
查阅资料后在文档中发现

在Laravel以前的版本中,可以在控制器构造函数中获取session变量或者认证后的用户实例。
在Laravel 5.3中,在控制器构造函数中不再能够直接获取到session变量或认证后的用户实例,因为中间件还未启动。
仍然有替代方案,那就是在控制器构造函数中使用Closure来直接定义中间件。
请注意,在使用这个方案的时候,确保你所使用的Laravel版本高于 5.3.4:

也就是说在构造方法执行的时候web中间件还未执行因此无法使用session
但我们可以在构造方法内通过定义中间件来使用session

public function __construct(){
    $this->middleware(function ($request, $next) {
        dd($request->session()->all());
        return $next($request);
    });
}

相关文章

  • Laravel 在构造方法中使用session

    在一个控制器的构造方法中尝试了全部常规获取session的方法,均无法获取查阅资料后在文档中发现 在Laravel...

  • laravel之session

    session(config/session.php) 2.1 laravel使用session有三种方法: ...

  • laravel_session机制

    laravel中处理Session的两种机制 全局的PHP辅助函数 Request实例 session中的基本方法...

  • Laravel Session使用方法

    首先需要 写入 session(key, value) 取得 session 取得全部 session 预设值(当...

  • Laravel中session&缓存

    一、session 在Laravel中主要有两种方式处理Session数据:全局的辅助函数session,或者通过...

  • laravel中session的使用

    可以使用request的session方法调用session 通过session类获取session: 使用use...

  • PHP session

    使用session 在PHP中使用session非常简单,先执行session_start方法开启session,...

  • laravel 构造函数无法return

    在用laravel写对外接口时发现laravel构造函数中是无法return,如果要使用return的话就需要用中...

  • 06.继承中的构造方法执行顺序

    继承中构造方法的执行顺序 A:super(实参列表);语句 在子类的构造方法中使用,用来调用父类中的构造方法(具...

  • Azalea\Session

    Session 会话类 不建议直接使用 $_SESSION 超全局变量 ⚠️ Session 构造函数已私有,无法...

网友评论

      本文标题:Laravel 在构造方法中使用session

      本文链接:https://www.haomeiwen.com/subject/wmlkmxtx.html