如何将静态类属性插入字符串?

时间:2011-11-21 00:21:02

标签: php variables static

  

可能重复:
  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

0 个答案:

没有答案