mirror of
https://github.com/bdnugget/php-src.git
synced 2026-11-07 09:17:29 +00:00
Merge branch 'PHP-8.0'
* PHP-8.0: Don't xfail method_static_var.phpt
This commit is contained in:
commit
3f400a7981
1 file changed
+11
-16
@@ -1,31 +1,26 @@
|
||||
--TEST--
|
||||
Initial value of static var in method depends on the include time of the class definition
|
||||
--XFAIL--
|
||||
Maybe not a bug
|
||||
--FILE--
|
||||
<?php
|
||||
|
||||
/* The current behavior is probably a bug, but we should still test how it currently works. */
|
||||
|
||||
class Foo {
|
||||
public function __construct() {
|
||||
eval("class Bar extends Foo {}");
|
||||
}
|
||||
public static function test() {
|
||||
static $i = 0;
|
||||
var_dump(++$i);
|
||||
}
|
||||
public static function test() {
|
||||
static $i = 0;
|
||||
var_dump(++$i);
|
||||
}
|
||||
}
|
||||
|
||||
foo::test();
|
||||
new Foo;
|
||||
foo::test();
|
||||
Foo::test();
|
||||
eval("class Bar extends Foo {}");
|
||||
Foo::test();
|
||||
|
||||
/**
|
||||
* function_add_ref() makes a clone of static variables for inherited functions, so $i in Bar::test gets initial value 1
|
||||
*/
|
||||
Bar::test();
|
||||
Bar::test();
|
||||
?>
|
||||
--EXPECT--
|
||||
int(1)
|
||||
int(2)
|
||||
int(1)
|
||||
int(2)
|
||||
int(3)
|
||||
Reference in new issue
Block a user