PHP OOP问题

seh*_*mel 1 php oop

我有关于PHP OOP的语法问题.

我有两个功能.

public function setBody($body) {   
  $this->body = $body;
 }

public function return_value($value) {   
  return $value;
 }
Run Code Online (Sandbox Code Playgroud)

$ body在函数中声明更高.如果我想在setBody上调用return_value函数(我意识到什么都没做 - 这只是我用来学习的一个例子),那么它的语法是什么?

我试过了$this->body = return_value($body),但没用.我也尝试return_value($this->body)过第二行,也没用.

在此先感谢您的帮助.

Sea*_*ira 7

你需要这样做:

public function setBody($body) {   
  $this->body = $this->return_value($body);
  // Make a reference to the object you are dealing with -- return_body
  // is not a global function -- it's a method of the object you are creating.
}

public function return_value($value) {   
  return $value;
}
Run Code Online (Sandbox Code Playgroud)

  • 请注意,PHP中必须使用`$ this`(或`this`)关键字,但大多数OO编程语言(如C++,C#和Java)都没有.我认为这可能会让OP感到困惑. (2认同)

Bol*_*ock 5

$this->在属性和方法上使用表示法,如下所示:

public function setBody($body) {
    $this->body = $this->return_value($body);
}
Run Code Online (Sandbox Code Playgroud)

  • @ shummel7845:请记住点击答案旁边的复选标记,以便将其标记为已接受.对于之前的问题,您也应该这样做. (3认同)