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