检查刀片模板内是否存在会话 - Laravel

moh*_*abk 2 php laravel laravel-5

目前我在我的一个vanilla php文件中有以下代码

<?php 

if (isset($_SESSION['qwick'])) {
    include "checkout-lin.php";
} else {
    include "checkout-nlin.php";
}

?>
Run Code Online (Sandbox Code Playgroud)

如何在laravel中做同样的事情.我创建了2个文件我的includes文件夹命名loggedinclude.blade.php,并notloggedinclude.blade和我现在想增加他们在一个页面checkstatus.blade.php

我也能设置这样的会话

$vars = [
    "email" => $email,
    "password" => $password,
    "firstname" => $row['firstName'],
    "lastname" => $row['lastName'],
    "id" => $row['id']
];

session()->put('blog', $vars);
Run Code Online (Sandbox Code Playgroud)

从上面的代码中,我创建了一个数组,然后将该数组放入一个名为blog的会话中,从而设置一个名为blog的会话.现在我希望能够检查是否已设置名为blog的会话.博客然后有可变电子邮件等

仅供参考;

我的第一个问题是检查刀片中是否存在会话

我的第二个问题是检查控制器中是否存在命名会话

该文档仅包含用于检查session项目的代码

if ($request->session()->has('users')) {
    //
}
Run Code Online (Sandbox Code Playgroud)

Eri*_*rik 9

@if(session()->has('qwick'))
    @include('includes.loggedinclude')
@else 
    @include('notloggedinclude.loggedinclude')
@endif
Run Code Online (Sandbox Code Playgroud)

有关刀片的文档可以在这里找到.会话文档可以在这里找到.


小智 5

你可以在 Laravel 中使用这种方式:在你的 Controller 或 Route 函数中:

$request->session()->flash('your_session', 'your message');
Run Code Online (Sandbox Code Playgroud)

并在 Resource/Views/your_blade_file.blade.php 中

@if (session()->has('your_session'))
    anything ...
@endif
Run Code Online (Sandbox Code Playgroud)