可能重复:
Access variable in class
我正在为一个类构建一些缓存功能,并且想要一个“类全局”数组,即在所有实例中都相同但不是常量的数组。怎么办呢?
答案 0 :(得分:0)
您可以使用静态变量来实现它。
但你老实说不应该,因为全球状态并不好。
如果必须,它看起来像:
class SomeClass
{
static public $var = array();
}
您可以从类本身或子类中使用self::$var
或static::$var
访问它,并从外部使用SomeClass::$var
或$ instanceOfSomeClass::$var
。
答案 1 :(得分:-1)
您的解决方案是static
变量!
<?php
// ...
class Foo {
public static $array;
public static function addValue($key, $value) {
self::$array[$key] = $value;
}
public static function getArrayKey($key) {
if(isset(self::$array[$key])) {
return self::$array[$key];
}
}
}
Foo::addValue('foo', 'bar');
echo(Foo::getArrayKey('foo'));
// ...
?>