laravel框架session

laravel框架版本在5.2.27以下使用session时:在同一个控制器不同的方法中session值会取不出来,当取值时会报以下的错误:

错误说的是:未设置请求的会话储存区


需要在app/Providers/RouteS erviceProvider.php中加以下代码:

    protected function mapWebRoutes(Router $router)
    {
        $router->group([
            'namespace' => $this->namespace, 'middleware' => 'web',
        ], function ($router) {
            require app_path('Http/routes.php');
        });
    }

最主要的是在你路由时加上:

Route::group(['middleware' => ['web']], function () {
   
});

如:

Route::group(['middleware' => ['web']], function () {
    // your routes here
    Route::any('test','MyController@test');
});

在控制器中使用session的方法:

引入:

use Session;
use Illuminate\Http\Request;

存session值:

     public  function test(Request $request)
    {
        $name = $request->get('name');
        $request->session()->put('key', "$name");
    }

取session值:

    public function test2(Request $request)
    {
        $data = $request->session()->all();
        dd($data);
    }

在view中取session值:

{{Session::get('name')}}








你可能感兴趣的:(laravel)