给一堂课:
class SomeClass{
static $information = 'useful information';
}我试图访问一组php类中的静态变量.每个类都有$information静态变量。如果我直接访问静态变量
echo SomeClass::$information;程序输出信息,但是如果我试图访问它,将它存储在一个变量中,则会得到一个错误,即'::‘是意外的。
$class = SomeClass;
echo $class::$information;将类存储在变量中的原因是,我可以有一个函数,它可以创建用户数组或项目数组。
发布于 2016-06-23 12:43:20
class SomeClass {
public static $information = 'useful information';
public static function getInformation() {
return self::$information;
}
} 然后,您可以执行以下操作:
# Static Access
echo SomeClass::$information;
echo SomeClass::getInformation();
# Static Access via Class Name in Variable
$someClass = 'SomeClass';
echo $someClass::$information;
## Instantiated access
$someClass = new SomeClass();
echo $someClass->$information;
echo $someClass->getInformation();发布于 2016-06-23 12:37:45
你可以这样做:
$class = SomeClass::class;
echo $class::$information;::class以字符串的形式获取类的完全限定名。
发布于 2016-06-23 12:36:31
不能将对类的引用存储在变量中,它是无用的。
相反,您可以将类名存储在变量中,并调用静态方法或变量:
$class = 'SomeClass';
echo $class::$information;https://stackoverflow.com/questions/37991677
复制相似问题