1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49
|
<?php
declare(strict_types=1);
namespace ProxyManagerTestAsset;
/**
* Base test class to play around with pre-existing typed magic methods
*
* @author Marco Pivetta <ocramius@gmail.com>
* @license MIT
*/
class ClassWithTypedMagicMethods
{
public array $data = [];
public function __set(string|int $name, mixed $value): void
{
$this->data[$name] = $value;
}
public function __get(string|int $name): mixed
{
return $this->data[$name] ?? null;
}
public function __isset(string|int $name): bool
{
return isset($this->data[$name]);
}
public function __unset(string|int $name): void
{
unset($this->data[$name]);
}
public function __sleep(): array
{
return ['data'];
}
public function __wakeup(): void
{
}
public function __clone(): void
{
}
}
|