php-src/Zend/tests/bug70223.phpt
Nikita Popov 902d64390e Deprecate implicit dynamic properties
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
2021-11-26 14:10:11 +01:00

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