所以我有:
class foo {
public $variable_one;
public $variable_two;
function_A(){
// Do something
$variable_one;
$variable_two;
// If I define variable_3 here!
$variable_3
// Would I be able to access it in function_B?
}
function_B(){
// Do something
$variable_4 = $variable_3
}
}
$myObj = new foo();
// Now what do I write in order to assign "variable_one" and "two" some value?
$myObj->$variable_one = 'some_value' ??
$myObj->$variable_two = 'some_value' ??
Run Code Online (Sandbox Code Playgroud)
首先,当你写的只是$variable_one;里面A()它并没有指你的类的成员变量!这将是一个完全不同的,新创建的局部变量,称为$variable_one与类变量无关.
相反,你想要:
function A() {
$this->variable_one;
}
Run Code Online (Sandbox Code Playgroud)
其次,您$variable_3也是一个局部变量,并且在任何其他函数中都无法访问.
第三,你在底部的作业在形式上是正确的,但在语法上是正确的:那里有一个额外$的.你要:
$myObj->variable_one = 'some value';
Run Code Online (Sandbox Code Playgroud)