在Laravel 5.8中使用$ _SESSION有什么不好的地方吗?

时间:2019-06-19 14:17:49

标签: php laravel laravel-5.8

我正在尝试访问Laravel 5.8会话并在该会话中的对象内取消设置数组,但是我似乎无法弄清楚。

我可以使用本机php $_SESSION,也可以使用unset($_SESSION["object"]->myarray[row_number]),这一切都很好,但是Laravel会话似乎并不容易。

我想避免一起使用Laravel会话,并使用本机php来节省时间并完成此项目,我只是想知道在laravel中使用本机php会话是否有长期的缺点

我已经搜索了google和Laravel文档,但在Laravel中访问具有多维数组的对象时找不到任何东西。

4 个答案:

答案 0 :(得分:1)

Laravel中,您可以像这样利用会话变量。链接到documentation

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

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

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

答案 1 :(得分:1)

  

我想避免一起使用Laravel会话,并使用本机php来节省时间并完成此项目,我只是想知道在laravel中使用本机php会话是否有长期的缺点

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

您应该始终尽可能使用Laravel的功能,因为它为您提供了您可能不知道的保护,并且它的前瞻性也在不断变化。它还可以使您的代码保持一致。

例如,如果您想将来更改会话变量的存储方式,则必须在使用$_SESSION["object"]的地方重新编写每段代码。使用Laravel的界面意味着,如果将来要更改存储方式,则不必更新站点中的代码即可反映此更改。

请参见有关使用Laravel编写此更好方法的其他建议,但要回答以下问题:“在Laravel 5.8中使用$ _SESSION是否有什么坏处?如果是,为什么?为什么?” –是的,简而言之。

答案 2 :(得分:0)

尝试执行此操作$value = $request->session()->get('key.value');

请参见session docs

答案 3 :(得分:0)

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