0

何らかの理由で、次のように定義すると:

 function __construct() {
    if(!isset($_GLOBALS["className"])) {
      $_GLOBALS["className"] = new className;
    }
    return true;
  }

 $_GLOBALS["className"]->classMethod();

何らかの理由で、PHP は $_GLOBALS["className"] が未定義であると述べています。

ああ、そのクラス内からグローバル値を別のものに設定しても同じことが起こります。コンストラクトまたはその他のメソッドを使用してグローバルの値をテストできますが、外部ではテストできません。何らかの理由でグローバルがクラスの外部で失われているようです。

外部クラス内から宣言した後にグローバルを保持する方法はありますか? どんな助けでも心から感謝します!

4

1 に答える 1

4

あなたは使用$GLOBALSしたいのではなく$_GLOBALS

http://php.net/manual/en/reserved.variables.globals.php

$_GLOBALS関数スコープで使用できるようになります。

于 2012-05-09T22:21:11.827 に答える