繁体   English   中英

在存储功能中获取会话数据

[英]Get Session data in store function

在存储函数中获取Session数据并将其存储到db是否正确?

public function store(){    
  ...
  $idgroup = Session::get('invitation_userid')];
  ...
}

还是需要存储功能始终是请求对象?

public function store(Request $request){    
  ...
  $idgroup = $request('idgroup');
  ...
}

在这两种功能中,当然都是输入数据的验证部分。

两种方法都很好,但是您应该根据自己的用例适当使用它们,我更喜欢使用Request数据。 主要区别在于,如果将其存储在Session ,它将在整个应用程序范围内可用;而如果您将其发送到Request ,则仅在方法内部可用。

这完全取决于您的控制器实际命名的上下文,此数据的使用方式以及为什么要这样做而不首先使用数据库会话驱动程序的原因。

您可以简单地使用数据库驱动程序进行会话:

https://laravel.com/docs/5.7/session#introduction

如果严格要遵循静态路由,这还取决于控制器的名称:

https://gist.github.com/alexpchin/09939db6f81d654af06b

要回答第二个问题,您在store操作中并不总是需要一个Request对象。 在大多数情况下,您甚至都不会看到Request对象,因为您只是在创建全新的资源。

全局会话帮助器您还可以使用全局会话PHP函数来检索和存储会话中的数据。 当使用单个字符串参数调用会话帮助器时,它将返回该会话密钥的值。 当使用键/值对数组调用帮助程序时,这些值将存储在会话中:

$value = session('key');

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM