我是PHP新手,所以如果答案非常明显,请原谅我。我试图弄清楚如何使用在类内部定义的变量。这是一个非常粗略的例子
$myVar = 'value';
class myClass {
private $class_var = $myVar;
//REST OF CLASS BELOW
}
我知道上面的内容不起作用,但是如何在类中使用外部$ myVar?
答案 0 :(得分: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);
。
答案 1 :(得分:-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;
}
}