我试图在Laravel会话中添加一个类实例
<?php
namespace App;
class Object {
public $age = 10;
}
.....
//Create new object and then put it in session.
$object = new \App\Object();
session()->put('test',$object);
$objectFromSession = session('object');
//Update object. It will update the the instance in session automatically.
$objectFromSession->age += 1;
$data = session('object');
//$data is updated. Why???
dump($data);
我想知道为什么会这样?
$objectFromSession = session('object');
是一个参考而不是一个值?$objectFromSession->age += 1;
会自动保存?Laravel会话(Symfony会话)是一个非常简单的数据容器。因此,当您将数据存储在会话中时,它只是这样做:
public function set($name, $value)
{
$this->attributes[$name] = $value;
}