我已经看到一些脚本包含$this在一个有OOP的PHP脚本中,我从来不知道它的含义......就像
$this->refresh();
Run Code Online (Sandbox Code Playgroud)
也许向我解释一下$this是什么......?
但我确实知道你不能将它用作动态变量,$this_is_a_variable但为什么不能将它用作动态变量呢?
Pek*_*ica 19
$this 是对当前对象的引用.
它只能在类方法中使用.
从手册:
当从对象上下文中调用方法时,伪变量$ this可用.$ this是对调用对象的引用(通常是方法所属的对象,但如果从辅助对象的上下文中静态调用该方法,则可能是另一个对象).
一个简单的现实世界示例:
class Classname
{
private $message = "The big brown fox... jumped....";
function setMessage($givenMessage) {
$this->message = $givenMessage;
}
function getMessage() {
return $this->message; // Will output whatever value
// the object's message variable was set to
}
}
$my_object = new Classname(); // this is a valid object
echo $my_object->getMessage(); // Will output "The big brown fox... jumped...."
$my_object->setMessage("Hello World!");
echo $my_object->getMessage(); // Will output "Hello world"
Run Code Online (Sandbox Code Playgroud)
$this是不是当你调用一个方法可静态背景:
Classname::showMessage(); // Will throw an error:
// `$this` used while not in object context
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8362 次 |
| 最近记录: |