8

私はPHPクラスに非常に慣れていないので、答えが本当に明白であれば許してください。クラス外で定義された変数をクラス内で使用する方法を理解しようとしています。これは非常に大雑把な例です

$myVar = 'value';

class myClass {
  private $class_var = $myVar;
  //REST OF CLASS BELOW
}

上記が機能しないことはわかっていますが、クラス内で外部 $myVar を使用するにはどうすればよいですか?

4

2 に答える 2

13

これを試して:

$myVar = 'value';

class myClass {
  private $class_var;

  public function __construct($myVar) {
    $this->class_var=$myVar;
  }

  //REST OF CLASS BELOW
}

$myVarクラスを宣言するときは、次のように渡す必要があります$myClass = new myClass($myVar);

于 2013-06-13T18:33:34.853 に答える
-3

すべての関数には独自の「スコープ」があります。次のように関数内で変数をグローバルとして宣言することで、それをオーバーライドできます。

$myVar = 'value';

class myClass {
  public function __construct() {
    global $myVar;
    $this->class_var=$myVar;
  }
}

これにより、オブジェクト インスタンスに変数が設定されます。

ただし、次のようにクラス変数として設定する必要なく、関数で直接使用できることに注意してください。

$myVar = 'value';

class myClass {
  public function myfunction() {
    global $myVar;
    echo $myVar;
  }
}
于 2013-06-13T18:35:36.630 に答える