Skip to content

Commit ae4bcd6

Browse files
committed
Implement __serialize() and __unserialize()
Signed-off-by: Alexander M. Turek <me@derrabus.de>
1 parent 7736429 commit ae4bcd6

File tree

1 file changed

+25
-9
lines changed

1 file changed

+25
-9
lines changed

lib/Doctrine/ORM/Id/SequenceGenerator.php

Lines changed: 25 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -103,27 +103,43 @@ public function getNextValue()
103103

104104
/**
105105
* @return string
106+
*
107+
* @final
106108
*/
107109
public function serialize()
108110
{
109-
return serialize(
110-
[
111-
'allocationSize' => $this->_allocationSize,
112-
'sequenceName' => $this->_sequenceName,
113-
]
114-
);
111+
return serialize($this->__serialize());
112+
}
113+
114+
/**
115+
* @return array<string, mixed>
116+
*/
117+
public function __serialize(): array
118+
{
119+
return [
120+
'allocationSize' => $this->_allocationSize,
121+
'sequenceName' => $this->_sequenceName,
122+
];
115123
}
116124

117125
/**
118126
* @param string $serialized
119127
*
120128
* @return void
129+
*
130+
* @final
121131
*/
122132
public function unserialize($serialized)
123133
{
124-
$array = unserialize($serialized);
134+
$this->__unserialize(unserialize($serialized));
135+
}
125136

126-
$this->_sequenceName = $array['sequenceName'];
127-
$this->_allocationSize = $array['allocationSize'];
137+
/**
138+
* @param array<string, mixed> $data
139+
*/
140+
public function __unserialize(array $data): void
141+
{
142+
$this->_sequenceName = $data['sequenceName'];
143+
$this->_allocationSize = $data['allocationSize'];
128144
}
129145
}

0 commit comments

Comments
 (0)