mirror of
https://github.com/php/php-src.git
synced 2024-12-20 07:20:33 +08:00
c42b7dd6d3
No notice is thrown for list() accesses, because we did not come to an agreement regarding patterns like while ([$key, $value] = yield $it->next()) { ... } where silent null access may be desirable. No effort is made to suppress multiple notices in access chains likes $x[0][0][0], because the technical complexity this causes does not seem worthwhile. RFC: https://wiki.php.net/rfc/notice-for-non-valid-array-container
39 lines
667 B
PHP
39 lines
667 B
PHP
--TEST--
|
|
Trying to create an object from dereferencing uninitialized variable
|
|
--FILE--
|
|
<?php
|
|
|
|
error_reporting(E_ALL);
|
|
|
|
class foo {
|
|
public $x;
|
|
static public $y;
|
|
|
|
public function a() {
|
|
return $this->x;
|
|
}
|
|
|
|
static public function b() {
|
|
return self::$y;
|
|
}
|
|
}
|
|
|
|
$foo = new foo;
|
|
$h = $foo->a()[0]->a;
|
|
var_dump($h);
|
|
|
|
$h = foo::b()[1]->b;
|
|
var_dump($h);
|
|
|
|
?>
|
|
--EXPECTF--
|
|
Notice: Trying to access array offset on value of type null in %s on line %d
|
|
|
|
Notice: Trying to get property 'a' of non-object in %s on line %d
|
|
NULL
|
|
|
|
Notice: Trying to access array offset on value of type null in %s on line %d
|
|
|
|
Notice: Trying to get property 'b' of non-object in %s on line %d
|
|
NULL
|