この回答は非常に遅いですが、私はブーリアン、配列、および整数初期値をグローバルスコープ静的変数として保持するクラスを設定しています。任意の定数ストリングはそのように定義されます。
define("myconstant", "value");
class globalVars {
static $a = false;
static $b = 0;
static $c = array('first' => 2, 'second' => 5);
}
function test($num) {
if (!globalVars::$a) {
$returnVal = 'The ' . myconstant . ' of ' . $num . ' plus ' . globalVars::$b . ' plus ' . globalVars::$c['second'] . ' is ' . ($num + globalVars::$b + globalVars::$c['second']) . '.';
globalVars::$a = true;
} else {
$returnVal = 'I forgot';
}
return $returnVal;
}
echo test(9); ---> The value of 9 + 0 + 5 is 14.
echo "<br>";
echo globalVars::$a; ----> 1
static
キーワードは、$ bの$ VARS、および$ cは、グローバルスコープされることはありません、他のクラスに存在する必要があります。
がNo存在しない機能外部からアクセスすることができます。 'global'キーワードが気に入らない場合は、すべてのスコープで' $ GLOBALS ['a'] 'スーパーグローバルを使うか、関数にパラメータを渡すことを検討してください。 –
重要なことがあれば、セッションvarでも使用できます。 –