阅读(2050) (8)

Laravel 8 获取数据

2021-06-25 09:32:02 更新

Laravel 中处理 Session 数据有两种主要方法:全局辅助函数 session 和通过一个 Request 实例。首先,我们来看看通过控制器方法类型提示一个 Request 实例来访问 session。控制器方法依赖项会通过 Laravel 服务容器 实现自动注入:

<?php

namespace AppHttpControllers;

use AppHttpControllersController;
use IlluminateHttpRequest;

class UserController extends Controller
{
    /**
     * 展示指定用户的简介
     *
     * @param  Request  $request
     * @param  int  $id
     * @return Response
     */
    public function show(Request $request, $id)
    {
        $value = $request->session()->get('key');

        //
    }
}

当你从 Session 获取值时,你还可以传递一个默认值作为 get 方法的第二个参数。如果 Session 中不存在指定的键,便会返回这个默认值。若传递一个闭包作为 get 方法的默认值,并且所请求的键并不存在时,get 方法将执行闭包并返回其结果:

$value = $request->session()->get('key', 'default');

$value = $request->session()->get('key', function () {
    return 'default';
});