我有一个关于“动态”类初始化的问题,让我解释一下我的意思:
$class = 'User';
$user = new $class();
//...is the same as doing
$user = new User();
所以...这不是问题,但我在从类中调用静态变量时遇到了一些麻烦,例如:
$class = 'User';
print $class::$name;
它给出了以下错误:
Parse error: syntax error, unexpected T_PAAMAYIM_NEKUDOTAYIM in
当然,我已经测试过执行 print User::$name;
并且有效。所以类有效。
为什么会这样,有什么解决办法吗?
跟进问题:
还有什么正当理由不使用这种“动态”方式创建类?
最佳答案
此代码在 PHP 5.4.3 上运行良好:
<?php
class A {
public static $var = "Hello";
}
print(A::$var);
$className = "A";
print($className::$var);
?>
关于php - 无法从 $class 获取静态变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12087743/