Skip to content

Commit

Permalink
Merge pull request #8895 from derrabus/bugfix/serializable
Browse files Browse the repository at this point in the history
Implement __serialize() and __unserialize()
  • Loading branch information
greg0ire authored Aug 15, 2021
2 parents b19a13f + ae4bcd6 commit d636d79
Showing 1 changed file with 25 additions and 9 deletions.
34 changes: 25 additions & 9 deletions lib/Doctrine/ORM/Id/SequenceGenerator.php
Original file line number Diff line number Diff line change
Expand Up @@ -103,27 +103,43 @@ public function getNextValue()

/**
* @return string
*
* @final
*/
public function serialize()
{
return serialize(
[
'allocationSize' => $this->_allocationSize,
'sequenceName' => $this->_sequenceName,
]
);
return serialize($this->__serialize());
}

/**
* @return array<string, mixed>
*/
public function __serialize(): array
{
return [
'allocationSize' => $this->_allocationSize,
'sequenceName' => $this->_sequenceName,
];
}

/**
* @param string $serialized
*
* @return void
*
* @final
*/
public function unserialize($serialized)
{
$array = unserialize($serialized);
$this->__unserialize(unserialize($serialized));
}

$this->_sequenceName = $array['sequenceName'];
$this->_allocationSize = $array['allocationSize'];
/**
* @param array<string, mixed> $data
*/
public function __unserialize(array $data): void
{
$this->_sequenceName = $data['sequenceName'];
$this->_allocationSize = $data['allocationSize'];
}
}

0 comments on commit d636d79

Please sign in to comment.