mirror of
https://github.com/Seldaek/monolog.git
synced 2025-10-27 10:46:22 +01:00
Fix PHP 8.5 __sleep deprecation (#1997)
This patch breaks any implementation of __sleep in child classes/user handlers. Should be warned in the release notes. Co-authored-by: Jordi Boggiano <j.boggiano@seld.be>
This commit is contained in:
@@ -44,19 +44,10 @@ abstract class Handler implements HandlerInterface
|
||||
}
|
||||
}
|
||||
|
||||
public function __sleep()
|
||||
public function __serialize(): array
|
||||
{
|
||||
$this->close();
|
||||
|
||||
$reflClass = new \ReflectionClass($this);
|
||||
|
||||
$keys = [];
|
||||
foreach ($reflClass->getProperties() as $reflProp) {
|
||||
if (!$reflProp->isStatic()) {
|
||||
$keys[] = $reflProp->getName();
|
||||
}
|
||||
}
|
||||
|
||||
return $keys;
|
||||
return (array) $this;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -67,7 +67,7 @@ class StreamHandlerTest extends \Monolog\Test\MonologTestCase
|
||||
|
||||
/**
|
||||
* @covers Monolog\Handler\StreamHandler::close
|
||||
* @covers Monolog\Handler\Handler::__sleep
|
||||
* @covers Monolog\Handler\Handler::__serialize
|
||||
*/
|
||||
public function testSerialization()
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user