繁体   English   中英

Laravel:检查会话是否存在有必要吗?

[英]Laravel: Check if session exists necessary?

在我使用 Laravel 之前,我做了以下事情:

<input type="text" name="comment" value="<?php if(isset($_SESSION['comment'])) echo $_SESSION['comment']; ?>">

我必须检查$_SESSION['comment']存在以防止出现警告。 现在在我的刀片文件中,我可以将其翻译为

<input type="text" name="comment" value="{{ (isset(session('comment')) ? session('comment') : ''}}">

但是我想知道是否还有必要检查会话是否存在或者我是否可以简单地写

<input type="text" name="comment" value="{{ session('comment') }}">

我在文档中找不到。 我正在查看API,但我意识到我不知道在哪个类中可以找到全局辅助函数。

您无需检查会话是否已启动。 它会在 Laravel 中为您自动启动。

如果您尝试显示不存在的session(variable) ,您将获得null

但是,如果您希望有一个默认值,则可以将其作为第二个参数传递:

var_dump(session('Lorem ipsum4', 'default value'));
// will result in: 
// "default value"

laravel 中的所有magic辅助方法都放在一个文件vendor/laravel/framework/src/Illuminate/Foundation/helpers.php 在那里你会找到function session定义,有点如下:

function session($key = null, $default = null)
{
    if (is_null($key)) {
        return app('session');
    }

    if (is_array($key)) {
        return app('session')->put($key);
    }

    return app('session')->get($key, $default);
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM