mirror of
https://github.com/php/php-src.git
synced 2025-08-15 21:48:51 +02:00

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
33 lines
691 B
PHP
33 lines
691 B
PHP
--TEST--
|
|
Don't recurse into USE_OTHER when checking for STD_PROP_LIST
|
|
--FILE--
|
|
<?php
|
|
|
|
$a = new ArrayObject([1, 2, 3], ArrayObject::STD_PROP_LIST);
|
|
$a->prop = 'a';
|
|
$b = new ArrayObject($a, 0);
|
|
$b->prop = 'b';
|
|
var_dump((array) $b);
|
|
$c = new ArrayObject($a);
|
|
$c->prop = 'c';
|
|
var_dump((array) $c);
|
|
|
|
?>
|
|
--EXPECTF--
|
|
Deprecated: Creation of dynamic property ArrayObject::$prop is deprecated in %s on line %d
|
|
|
|
Deprecated: Creation of dynamic property ArrayObject::$prop is deprecated in %s on line %d
|
|
array(3) {
|
|
[0]=>
|
|
int(1)
|
|
[1]=>
|
|
int(2)
|
|
[2]=>
|
|
int(3)
|
|
}
|
|
|
|
Deprecated: Creation of dynamic property ArrayObject::$prop is deprecated in %s on line %d
|
|
array(1) {
|
|
["prop"]=>
|
|
string(1) "c"
|
|
}
|