[HttpFoundation] removed Serializable from SessionInterface
If you need to serialize the session, you need to get the bags and serialize them instead.
This commit is contained in:
parent
574f2542df
commit
fc7d0110f7
@ -151,33 +151,6 @@ class Session implements SessionInterface
|
|||||||
return $this->storage->getId();
|
return $this->storage->getId();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Implements the \Serialize interface.
|
|
||||||
*
|
|
||||||
* @return string
|
|
||||||
*/
|
|
||||||
public function serialize()
|
|
||||||
{
|
|
||||||
return serialize($this->storage);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Implements the \Serialize interface.
|
|
||||||
*
|
|
||||||
* @param string $serialized
|
|
||||||
*
|
|
||||||
* @throws \InvalidArgumentException If the passed string does not unserialize to an instance of SessionStorageInterface
|
|
||||||
*/
|
|
||||||
public function unserialize($serialized)
|
|
||||||
{
|
|
||||||
$storage = unserialize($serialized);
|
|
||||||
if (!$storage instanceof SessionStorageInterface) {
|
|
||||||
throw new \InvalidArgumentException('Serialized data did not return a valid instance of SessionStorageInterface');
|
|
||||||
}
|
|
||||||
|
|
||||||
$this->storage = $storage;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Registers a SessionBagInterface with the sessio.
|
* Registers a SessionBagInterface with the sessio.
|
||||||
*
|
*
|
||||||
|
@ -16,7 +16,7 @@ namespace Symfony\Component\HttpFoundation\Session;
|
|||||||
*
|
*
|
||||||
* @author Drak <drak@zikula.org>
|
* @author Drak <drak@zikula.org>
|
||||||
*/
|
*/
|
||||||
interface SessionInterface extends \Serializable
|
interface SessionInterface
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
* Starts the session storage.
|
* Starts the session storage.
|
||||||
|
@ -139,29 +139,6 @@ class SessionTest extends \PHPUnit_Framework_TestCase
|
|||||||
$this->assertEquals(333, $this->session->get('migrate'));
|
$this->assertEquals(333, $this->session->get('migrate'));
|
||||||
}
|
}
|
||||||
|
|
||||||
public function testSerialize()
|
|
||||||
{
|
|
||||||
$compare = serialize($this->storage);
|
|
||||||
|
|
||||||
$this->assertSame($compare, $this->session->serialize());
|
|
||||||
|
|
||||||
$this->session->unserialize($compare);
|
|
||||||
|
|
||||||
$_storage = new \ReflectionProperty(get_class($this->session), 'storage');
|
|
||||||
$_storage->setAccessible(true);
|
|
||||||
|
|
||||||
$this->assertEquals($_storage->getValue($this->session), $this->storage, 'storage match');
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @expectedException \InvalidArgumentException
|
|
||||||
*/
|
|
||||||
public function testUnserializeException()
|
|
||||||
{
|
|
||||||
$serialized = serialize(new \ArrayObject());
|
|
||||||
$this->session->unserialize($serialized);
|
|
||||||
}
|
|
||||||
|
|
||||||
public function testGetId()
|
public function testGetId()
|
||||||
{
|
{
|
||||||
$this->assertEquals('', $this->session->getId());
|
$this->assertEquals('', $this->session->getId());
|
||||||
|
Reference in New Issue
Block a user