0

重複の可能性:
クラス内のアクセス変数

クラス用のキャッシング機能を構築していて、「クラスグローバル」配列、つまり、すべてのインスタンスで同じであるが定数ではない配列が必要です。これはどのように行うことができますか?

4

2 に答える 2

0

静的変数でそれを実現できます。

しかし、グローバルな状態が良くないため、正直なところそうすべきではありません。

必要に応じて、次のようになります。

class SomeClass
{
    static public $var = array();
}

クラス自体またはサブクラス内から、self::$varまたは外部から$を使用してアクセスします。static::$varSomeClass::$varinstanceOfSomeClass::$var

于 2012-07-27T09:01:18.650 に答える
-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'));
// ...
?>
于 2012-07-27T09:06:06.430 に答える