PHP中的静态变量字符串解析

Dan*_*ugg 5 php string variables parsing

很简单; 我已经阅读了文档,但也许我只是对解释感到困惑.

class Test{
    public static $var = 'world';
}

echo "hello {Test::$var}"; // only parses $var in current scope, which is empty
Run Code Online (Sandbox Code Playgroud)

有没有办法在这里实现所需的功能?我开始猜不到,因为我已经尝试了一些没有成功的排列.

澄清:我正在尝试使用PHP的变量解析来实现这一点,而不是连接.显然,如果不可能使用所需的方法,我会求助于连接,尽管我希望它是.

mar*_*rio 8

PHP中的变量解析双引号字符串仅适用于" 变量表达式 ".这些必须始终以字节序列开头{$.然而,您对静态标识符的引用始于{T为什么PHP $在双引号中解析为下一个并忽略Test::

你需要在那里使用一些作弊码.使用NOP包装函数:

$html = "htmlentities";
print "Hello {$html(Test::$var)}";
Run Code Online (Sandbox Code Playgroud)

或者将类名预先定义为变量:

$Test = "Test";
print "Hello {$Test::$var}";
Run Code Online (Sandbox Code Playgroud)

我担心没有本地方法可以实现这一目标.