使用会话时 Laravel 的点符号出现问题
Trouble with Laravel's dot notation when using sessions
我在尝试存储和从会话中获取项目时遇到了一个小问题。我正在使用 API 并尝试将此 api 的结果缓存到会话中。
问题是 API 通常 return 我试图缓存的域名,例如 google.com
然后是该域的值。
不幸的是,当我使用 Session::put($domain, $value)
然后 return Session::all()
存储它时,数组如下所示...
array(
'google' =>
'com' => 'my_value'
)
我真的需要它...
array(
'google.com' => 'my_value'
)
如您所见,点符号破坏了数组依赖的完整性。
看Laravel代码,你不会轻易解决的。 Laravel 此处使用 Arr::set
方法,该方法使用点符号创建多维数组。
您应该考虑将 .
替换为 _
,因此 google.com
使用 google_com
作为您的会话密钥。
我在尝试存储和从会话中获取项目时遇到了一个小问题。我正在使用 API 并尝试将此 api 的结果缓存到会话中。
问题是 API 通常 return 我试图缓存的域名,例如 google.com
然后是该域的值。
不幸的是,当我使用 Session::put($domain, $value)
然后 return Session::all()
存储它时,数组如下所示...
array(
'google' =>
'com' => 'my_value'
)
我真的需要它...
array(
'google.com' => 'my_value'
)
如您所见,点符号破坏了数组依赖的完整性。
看Laravel代码,你不会轻易解决的。 Laravel 此处使用 Arr::set
方法,该方法使用点符号创建多维数组。
您应该考虑将 .
替换为 _
,因此 google.com
使用 google_com
作为您的会话密钥。