加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

php – 我可以在Laravel 5会话中保存对象,对象集合吗?

发布时间:2020-12-14 19:47:24 所属栏目:大数据 来源:网络整理
导读:是否有可能在laravel 5 Session中保存php对象,对象集合? 我在尝试,但我得到了错误 Serialization of 'Closure' is not allowed vendor/illuminate/session/Store.php line 255Session::put('my_php_object',$obj );Session::save();public function onRun()
是否有可能在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并使用查询恢复对象.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读