parent
78135d75ef
commit
c6c04d7e96
6 changed files with 60 additions and 8 deletions
@ -0,0 +1,47 @@ |
||||
--TEST-- |
||||
Magic Methods - a plain property read invokes __get, never __isset |
||||
--FILE-- |
||||
<?php |
||||
declare(strict_types=1); |
||||
|
||||
class MagicReadTest |
||||
{ |
||||
private array $data = ['name' => 'TypePHP']; |
||||
|
||||
public function __get(string $name) |
||||
{ |
||||
echo "__get($name)\n"; |
||||
return $this->data[$name] ?? null; |
||||
} |
||||
|
||||
public function __isset(string $name) |
||||
{ |
||||
echo "__isset($name)\n"; |
||||
return isset($this->data[$name]); |
||||
} |
||||
} |
||||
|
||||
function main(): void |
||||
{ |
||||
$obj = new MagicReadTest(); |
||||
|
||||
echo "--- plain read ---\n"; |
||||
var_dump($obj->aaa); |
||||
|
||||
echo "--- isset ---\n"; |
||||
var_dump(isset($obj->aaa)); |
||||
|
||||
echo "--- empty ---\n"; |
||||
var_dump(empty($obj->aaa)); |
||||
} |
||||
?> |
||||
--EXPECTF-- |
||||
--- plain read --- |
||||
__get(aaa) |
||||
NULL |
||||
--- isset --- |
||||
__isset(aaa) |
||||
bool(false) |
||||
--- empty --- |
||||
__isset(aaa) |
||||
bool(true) |
||||
Loading…
Reference in new issue