在PHP类中使用外部变量

B_C*_*eld 8 php

我是PHP新手,所以如果答案非常明显,请原谅我.我试图弄清楚如何使用在类内部定义的变量.这是一个非常粗略的例子

$myVar = 'value';

class myClass {
  private $class_var = $myVar;
  //REST OF CLASS BELOW
}
Run Code Online (Sandbox Code Playgroud)

我知道上面的方法不起作用,但我如何在类中使用外部$ myVar?

Dav*_*hen 13

试试这个:

$myVar = 'value';

class myClass {
  private $class_var;

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

  //REST OF CLASS BELOW
}
Run Code Online (Sandbox Code Playgroud)

在声明课程时,你需要$myVar像这样传递,$myClass = new myClass($myVar);.

  • 现在`myClass`可以正常使用`$ this-> class_var`吗? (2认同)
  • @TheSurrican你提出的类可能是静态的建议并不是由给出的代码所证实的 - 没有`static`关键字,给对象属性一个初始值是构造函数的责任,正如你的答案和DaveChen所展示的那样.我同意不提及'global`将是一个错误,但它应该总是带有一些警告 - 例如,正如你所说,它可能是一种迁移旧代码的方法,这些代码不能简单地去全球化. (2认同)