目前,我的一个普通php
文件中有以下代码
<?php
if (isset($_SESSION['qwick'])) {
include "checkout-lin.php";
} else {
include "checkout-nlin.php";
}
?>
我怎么能在拉拉威尔做同样的事。我在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);
从上面的代码中,我创建了一个数组,然后将数组放在一个名为blog的会话中,从而设置一个称为博客的会话。现在我想能够检查是否已经设置了一个名为博客的会话。博客然后有可变的电子邮件等
FYI;
我的第一个问题是检查刀片中是否存在会话
我的第二个问题是检查控制器中是否存在命名会话
文档中只有用于检查session
项目的代码
if ($request->session()->has('users')) {
//
}
@if(session()->has('qwick'))
@include('includes.loggedinclude')
@else
@include('notloggedinclude.loggedinclude')
@endif
有关刀片的文档可以在这里找到。会话文档可在此处找到。
您可以使用这种方式进行Laravel:在控制器或路线功能中:
$request->session()->flash('your_session', 'your message');
和在资源/视图/your_blade_file.blade.php 中
@if (session()->has('your_session'))
anything ...
@endif
尝试下面的代码段。
@if(session->has('qwick'))
@include('includes.loggedinclude checkout-lin')
@else
@include('checkout-nlin')
@endif
参考:
Blade@if 中的Laravel会话变量
http://laravel-recipes.com/recipes/90/including-a-blade-template-within-another-template
刀片模板中的If语句?
检查用户的更好方法是记录在控制器中。在视图部分检查用户登录可能会违反MVC规则。谢谢
如果你必须需要,你可以试试这个
@if(session->get('qwick'))
@include("includes.loggedinclude")
@else
@include("notloggedinclude.loggedinclude")
@endif