是否有可能在laravel 5 Session中保存PHP对象,对象集合?
我在尝试,但我得到了错误
Serialization of 'Closure' is not allowed vendor/illuminate/session/Store.PHP line 255 Session::put('my_PHP_object',$obj ); Session::save(); public function onRun() { $this->addCss('assets/css/custom.css'); $this->socialite_providers = $this->page['socialite_providers'] =$this->providersList(); //check for provider param in url if($provider = $this->param('provider')){ $this->setSessionProvider($provider); $this->provider = $provider; $this->callback_url = preg_replace('~.*\K:(.*)~s','',Request::root().$this->page->url); $this->request = $this->createRequest($provider); Session::save(); return $this->request->redirect(); } //Authorize user if Request has code if(Request::has('code')){ if(!$this->getSession()) return; //reuse save session } } public function createRequest($provider) { $instance = Socialite::driver($provider); $init = $this->injectCredentials($instance,$provider); $this->setSession($init); return $init; } public function injectCredentials($instance,$provider){ $credential = $this->providerData($provider)->toArray(); $instance = new $instance ( Request::instance(),$credential['client_id'],$credential['client_secret'],$this->callback_url ); return $instance; } public function setSession($init) { if(Session::has('socialite_object')) Session::forget('socialite_object'); Session::put('socialite_object',$init ); }
您始终可以存储您尝试存储的对象的JSON表示.
但是,我听说不要在会话中存储大量内容通常是一个好主意,无论如何你可以通过存储其他内容来管理吗?如果要从数据库存储对象,则可以存储Id并使用查询恢复对象.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。