在 Laravel 5.8 中使用 $_SESSION 有什么不好的地方吗?如果有的话,为什么?

Is there anything bad about using $_SESSION in Laravel 5.8 and if so what and why?

我正在尝试访问 Laravel 5.8 session 并取消设置 session 中 object 内的数组,但我似乎无法弄清楚。

我可以使用原生 php $_SESSIONunset($_SESSION["object"]->myarray[row_number]) 并且世界上一切都很好但是使用 Laravel [=32= 似乎并不那么容易]s.

我想避免 Laravel session 一起使用原生 php 来节省时间并完成这个项目,我只是想知道是否有任何长期在 laravel

中使用原生 php sessions 的缺点

我搜索了 google 和 Laravel 文档,但在 Laravel.

中找不到有关使用多维数组访问 object 的任何内容

Laravel 中,您可以像这样使用会话变量。 Link 到 documentation.

$request->session()->get('object');

你应该可以用类似的东西做你想做的事。

$index = 0;
$request->session()->forget('object.myarray.' . index);

尝试这样做$value = $request->session()->get('key.value')

session docs

对于

的多维数组
$tempCategories = array(
    0 => array(
        'cat' => 'Wood'
    ),
    1 => array(
        'cat' => 'Metal'
    ),
);
<h5>{{$cat['cat']}}</h5>

I would like to avoid Laravel sessions all together and use the native php to save time and finish this project and I am just wondering if there are any long term Cons to using native php sessions in laravel

这有点棘手,因为它从 Stack Overflow 的职权范围转变为意见,但这里是:

您应该尽可能使用 Laravel 的功能,因为它为您提供了您可能不知道的保护,并且它 future-proofs 会发生变化。它还可以使您的代码保持一致。

例如,如果您想在将来更改存储会话变量的方式,则必须 re-write 您使用过的每一段代码 $_SESSION["object"]。使用 Laravel 的界面意味着如果您将来要更改它的存储方式,则无需更新站点中的代码来反映此更改。

请参阅其他有关使用 Laravel 编写此内容的更好方法的建议,但要回答“在 Laravel 5.8 中使用 $_SESSION 有什么不好的地方吗?如果有,为什么?” – 是的,简而言之。