mirror of
https://github.com/php/php-src.git
synced 2024-09-21 09:57:23 +00:00
902d64390e
Writing to a proprety that hasn't been declared is deprecated, unless the class uses the #[AllowDynamicProperties] attribute or defines __get()/__set(). RFC: https://wiki.php.net/rfc/deprecate_dynamic_properties
24 lines
395 B
PHP
24 lines
395 B
PHP
--TEST--
|
|
Bug #70223 (Incrementing value returned by magic getter)
|
|
--FILE--
|
|
<?php
|
|
|
|
// Note that this actually writes to dynamic property A::$f.
|
|
// Increment goes through __set(), not __get() by reference!
|
|
#[AllowDynamicProperties]
|
|
class A {
|
|
|
|
private $foo = 0;
|
|
|
|
public function &__get($foo){ return $this->foo; }
|
|
|
|
}
|
|
|
|
$a = new A;
|
|
echo $a->f++;
|
|
echo $a->f++;
|
|
echo $a->f++;
|
|
?>
|
|
--EXPECT--
|
|
012
|