mirror of
https://github.com/php/php-src.git
synced 2025-08-16 05:58:45 +02:00

RFC: https://wiki.php.net/rfc/property-hooks Co-authored-by: Nikita Popov <nikita.ppv@gmail.com>
36 lines
597 B
PHP
36 lines
597 B
PHP
--TEST--
|
|
Recursion behavior of property hooks
|
|
--FILE--
|
|
<?php
|
|
|
|
class Test {
|
|
public int $prop {
|
|
get { return $this->prop * 2; }
|
|
set { $this->prop = $value * 2; }
|
|
}
|
|
|
|
// Edge-case where recursion happens via isset().
|
|
public int $prop2 {
|
|
get { return isset($this->prop2); }
|
|
set { }
|
|
}
|
|
}
|
|
|
|
$test = new Test;
|
|
$test->prop = 10;
|
|
var_dump($test->prop);
|
|
var_dump(isset($test->prop));
|
|
var_dump(isset($test->prop2));
|
|
var_dump($test);
|
|
|
|
?>
|
|
--EXPECT--
|
|
int(40)
|
|
bool(true)
|
|
bool(true)
|
|
object(Test)#1 (1) {
|
|
["prop"]=>
|
|
int(20)
|
|
["prop2"]=>
|
|
uninitialized(int)
|
|
}
|