可能重复:
PHP static variables in double quotes
Using static class variables — in a heredoc
在PHP中,您可以直接将变量插入到字符串(1)中,对于复杂变量,您必须将它们括在花括号中(2)。这很好&简洁的表示法,我一直都在使用它。但是如果要将静态类变量插入到字符串中,这将不起作用(3)。你必须采用更冗长的路线并使用“。”操作员将字符串粘贴在一起(4)。当你构建一个复杂的字符串时,很快就会很难理解。
我发誓我最近听说当前版本的PHP(~5.3)允许你使用{{}}将静态类变量插入到字符串中,这仍然是非常易读的。但是(5)和(6)是我发现的唯一不会给我语法错误或警告的排列,并且你可以看到它们不会将变量替换为字符串。
这有可能吗?
$simplevar = 'simple';
class myclass
{
public static $prop = 'static-prop';
}
print "1. before $simplevar after<p>";
print "2. before {$simplevar} after<p>";
print "3. before {myclass::$prop} after<p>";
print "4. before " . myclass::$prop . " after<p>";
print "5. before {{myclass::$prop}} after<p>";
print "6. before {${myclass::$prop}} after<p>";
输出:
1. before simple after 2. before simple after 3. before {myclass::} after 4. before static-prop after 5. before {{myclass::}} after 6. before after