从静态函数内部引用静态变量

时间:2012-05-25 07:11:10

标签: php

我有以下代码,但不起作用:

<?php
class test{
    public static $var = 'foo';
    public static function printvar(){
        echo "Var value is {self::$var}";
    }
}
test::printvar();
?>

然而这有效:

<?php
class test{
    public static $var = 'foo';
    public static function printvar(){
        echo "Var value is " . self::$var;
    }
}
test::printvar();
?>

问题是,无论如何我可以从静态方法中访问引号内的静态变量吗?

1 个答案:

答案 0 :(得分:3)

通过手册:

  
    

自PHP 5起,{$}内的函数,方法调用,静态类变量和类常量工作。但是,访问的值将被解释为定义字符串的作用域中变量的名称。 使用单个花括号({})不能用于访问函数或方法的返回值或类常量或静态类变量的值

  

了解更多string ...