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 回答