mirror of
https://github.com/php/php-src.git
synced 2024-12-17 05:50:14 +08:00
0b1d750d91
Closes GH-9301
37 lines
509 B
PHP
37 lines
509 B
PHP
--TEST--
|
|
Static variable assign triggering destructor
|
|
--FILE--
|
|
<?php
|
|
|
|
class Foo {
|
|
public function __destruct() {
|
|
throw new Exception('__destruct() called');
|
|
}
|
|
}
|
|
|
|
function bar() {
|
|
echo "bar() called\n";
|
|
return 42;
|
|
}
|
|
|
|
function foo(bool $throw) {
|
|
if ($throw) {
|
|
$a = new Foo();
|
|
}
|
|
static $a = bar();
|
|
var_dump($a);
|
|
}
|
|
|
|
try {
|
|
foo(true);
|
|
} catch (Exception $e) {
|
|
echo $e->getMessage(), "\n";
|
|
}
|
|
foo(false);
|
|
|
|
?>
|
|
--EXPECT--
|
|
bar() called
|
|
__destruct() called
|
|
int(42)
|