1--TEST--
2Accessing self:: properties or methods outside a class
3--FILE--
4<?php
5
6$fn = function() {
7    $str = "foo";
8    try {
9        self::${$str . "bar"};
10    } catch (Error $e) {
11        echo $e->getMessage(), "\n";
12    }
13    try {
14        unset(self::${$str . "bar"});
15    } catch (Error $e) {
16        echo $e->getMessage(), "\n";
17    }
18    try {
19        isset(self::${$str . "bar"});
20    } catch (Error $e) {
21        echo $e->getMessage(), "\n";
22    }
23    try {
24        self::{$str . "bar"}();
25    } catch (Error $e) {
26        echo $e->getMessage(), "\n";
27    }
28};
29$fn();
30
31?>
32--EXPECT--
33Cannot access self:: when no class scope is active
34Cannot access self:: when no class scope is active
35Cannot access self:: when no class scope is active
36Cannot access self:: when no class scope is active
37