简单的PHP类问题

chu*_*tsu 2 php oop

所以我有:

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)

Vot*_*ple 7

首先,当你写的只是$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)