Có thể lưu các đối tượng php, bộ sưu tập đối tượng trong laravel 5 Session không?Tôi có thể lưu các đối tượng, bộ sưu tập đối tượng trong một phiên Laravel 5 không?
Tôi đã cố gắng nhưng tôi nhận được lỗi về vấn đề này
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);
}
Bạn đã thử serialize ($ obj) chưa? Nó có lẽ sẽ không hoạt động nhưng dù sao đi nữa. –
Tôi đã cố gắng sẽ không hoạt động hơn tôi nhận được lỗi Serialize Closure – fefe
Tôi đã lưu thành công các đối tượng và bộ sưu tập trong Laravel vào phiên mà không có vấn đề. Tôi sẽ nghi ngờ rằng có lẽ bạn đang sử dụng '$ this' ở đâu đó và thực sự nhận được một cái gì đó bạn không có ý định. –