使用会话时,Laravel的点符号出现问题

时间:2015-12-11 22:33:05

标签: php laravel session laravel-5.1

我在尝试存储和抓取会话中的项目时遇到了一些问题。我正在使用API​​,我正在尝试将此api的结果缓存到会话中。

问题是API经常返回我尝试缓存的域名,例如google.com,然后是该域的值。

不幸的是,当我使用Session::put($domain, $value)存储它然后返回Session::all()时,数组看起来如下......

array(
    'google' => 
        'com' => 'my_value'
)

我真的需要它......

array(
    'google.com' => 'my_value'
)

如您所见,点符号正在破坏数组的完整性。

1 个答案:

答案 0 :(得分:3)

查看Laravel代码,您无法轻松解决问题。 Laravel使用Arr::set方法,该方法使用点表示法创建多维数组。

您应该考虑将.替换为例如_,而不是google.com使用google_com作为您的会话密钥。