Skip to content

Commit

Permalink
PHP 8.1 __serialize and __unserialize
Browse files Browse the repository at this point in the history
  • Loading branch information
JindrichPilar committed Jan 29, 2022
1 parent 54e6857 commit 89bd4b5
Show file tree
Hide file tree
Showing 3 changed files with 64 additions and 21 deletions.
31 changes: 22 additions & 9 deletions src/Wsdl/Event/RequestFailEvent.php
Original file line number Diff line number Diff line change
Expand Up @@ -64,31 +64,44 @@ public function __construct(
$this->time = $duration;
}

public function serialize(): string
{
$data = [
/**
* @return array<mixed>
*/
public function __serialize(): array {
return [
'fname' => $this->fname,
'args' => $this->args,
'time' => $this->time,
'exception_class' => $this->exceptionClass,
'exception_string' => $this->exceptionString,
];
return serialize($data);
}

/**
* @param string $data
*/
public function unserialize($data): void
public function serialize(): string
{
$data = unserialize($data, ['allowed_classes' => [self::class]]);
return serialize($this->__serialize());
}

/**
* @param array<mixed> $data
*/
public function __unserialize(array $data): void {
$this->fname = (string) $data['fname'];
$this->args = (array) $data['args'];
$this->time = (float) $data['time'];
$this->exceptionClass = (string) $data['exception_class'];
$this->exceptionString = (string) $data['exception_string'];
}

/**
* @param string $data
*/
public function unserialize($data): void
{
$data = unserialize($data, ['allowed_classes' => [self::class]]);
$this->__unserialize($data);
}

/**
* Vrati tridu exception
*
Expand Down
27 changes: 21 additions & 6 deletions src/Wsdl/Event/RequestPostEvent.php
Original file line number Diff line number Diff line change
Expand Up @@ -49,29 +49,44 @@ public function __construct(
$this->time = $duration;
}

public function serialize(): string
/**
* @return array<mixed>
*/
public function __serialize(): array
{
$data = [
return [
'fname' => $this->fname,
'args' => $this->args,
'time' => $this->time,
'result' => $this->result,
];
return serialize($data);
}

public function serialize(): string
{
return serialize($this->__serialize());
}

/**
* @param string $data
* @param array<mixed> $data
*/
public function unserialize($data): void
public function __unserialize(array $data): void
{
$data = unserialize($data, ['allowed_classes' => [self::class, stdClass::class]]);
$this->fname = (string) $data['fname'];
$this->args = (array) $data['args'];
$this->time = (float) $data['time'];
$this->result = (array) $data['result'];
}

/**
* @param string $data
*/
public function unserialize($data): void
{
$data = unserialize($data, ['allowed_classes' => [self::class, stdClass::class]]);
$this->__unserialize($data);
}

public function getFname(): string
{
return $this->fname;
Expand Down
27 changes: 21 additions & 6 deletions src/Wsdl/Event/RequestPreEvent.php
Original file line number Diff line number Diff line change
Expand Up @@ -57,31 +57,46 @@ public function __construct(
$this->trace = $trace;
}

public function serialize(): string
/**
* @return array<mixed>
*/
public function __serialize(): array
{
$data = [
return [
'fname' => $this->fname,
'args' => $this->args,
'options' => $this->options,
'inputHeaders' => $this->inputHeaders,
'trace' => $this->trace,
];
return serialize($data);
}

public function serialize(): string
{
return serialize($this->__serialize());
}

/**
* @param string $data
* @param array<mixed> $data
*/
public function unserialize($data): void
public function __unserialize(array $data): void
{
$data = unserialize($data, ['allowed_classes' => [self::class]]);
$this->fname = (string) $data['fname'];
$this->args = (array) $data['args'];
$this->options = (array) $data['options'];
$this->inputHeaders = (array) $data['inputHeaders'];
$this->trace = (array) $data['trace'];
}

/**
* @param string $data
*/
public function unserialize($data): void
{
$data = unserialize($data, ['allowed_classes' => [self::class]]);
$this->__unserialize($data);
}

public function getFname(): string
{
return $this->fname;
Expand Down

0 comments on commit 89bd4b5

Please sign in to comment.