我应该在 Laravel 5.7 中更好地使用 session() 还是 collect() 辅助函数?

Should I better use session() or collect() helper function in Laravel 5.7?

我已将数组数据存储在会话中,如下所示。

session(['my_key' => ['car' => 123, 'motor' => 45, 'boat' => 678]]);

要获取密钥,我可以执行以下操作:

$car_key = session('my_key.car');
$motor_key = session('my_key.motor');
$boat_key = session('my_key.boat');

或者我可以执行以下操作:

$my_keys = session('my_key');

$car_key = collect($my_keys)->get('car');
$motor_key = collect($my_keys)->get('motor');
$boat_key = collect($my_keys)->get('boat');

我不知道 session()collect()->get() 函数如何处理 array。在这种情况下,一种方法比另一种更好吗?还是无所谓,session存的数组数据大?

collect() helper 用于创建集合。 在第二种方式中,您创建了三个不同的集合,包含相同的集合数据。然后您通过每个集合中的键获取数据。 colde好像是多余的,该用的没有用

使用 session() 助手

视情况而定。

如果您想使用仅适用于集合的方法,那么这将是一种完全有效的方法。一种更简单的方法是使用:

$myCollection = collect(session('my_key'));

这样你就可以只使用 $myCollection->get('car') 等,而不是创建多个集合。

但是,如果您只想检索值并且对数组感到满意,则可以使用 session() 帮助程序和 return 正常使用数据。