mirror of
https://github.com/php/php-src.git
synced 2025-08-16 05:58:45 +02:00

RFC: https://wiki.php.net/rfc/enumerations Co-authored-by: Nikita Popov <nikita.ppv@gmail.com> Closes GH-6489.
45 lines
667 B
PHP
45 lines
667 B
PHP
--TEST--
|
|
Enum unserialize refcount
|
|
--FILE--
|
|
<?php
|
|
|
|
enum Foo {
|
|
case Bar;
|
|
}
|
|
|
|
debug_zval_dump(Foo::Bar);
|
|
|
|
$foo = Foo::Bar;
|
|
debug_zval_dump($foo);
|
|
|
|
$bar = unserialize('E:7:"Foo:Bar";');
|
|
debug_zval_dump($foo);
|
|
|
|
unset($bar);
|
|
debug_zval_dump($foo);
|
|
|
|
unset($foo);
|
|
debug_zval_dump(Foo::Bar);
|
|
|
|
?>
|
|
--EXPECT--
|
|
object(Foo)#1 (1) refcount(2){
|
|
["name"]=>
|
|
string(3) "Bar" interned
|
|
}
|
|
object(Foo)#1 (1) refcount(3){
|
|
["name"]=>
|
|
string(3) "Bar" interned
|
|
}
|
|
object(Foo)#1 (1) refcount(4){
|
|
["name"]=>
|
|
string(3) "Bar" interned
|
|
}
|
|
object(Foo)#1 (1) refcount(3){
|
|
["name"]=>
|
|
string(3) "Bar" interned
|
|
}
|
|
object(Foo)#1 (1) refcount(2){
|
|
["name"]=>
|
|
string(3) "Bar" interned
|
|
}
|