我有以下代码,但不起作用:
<?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();
?>
问题是,无论如何我可以从静态方法中访问引号内的静态变量吗?
答案 0 :(得分:3)
通过手册:
自PHP 5起,{$}内的函数,方法调用,静态类变量和类常量工作。但是,访问的值将被解释为定义字符串的作用域中变量的名称。 使用单个花括号({})不能用于访问函数或方法的返回值或类常量或静态类变量的值。
了解更多string ...