这是一个例子:
class Test {
public function TestMethod() {
print_r($this); // Gives me "Test1 Object ( )"
}
}
class Test1 {
public function Test1Method() {
Test::TestMethod();
}
}
$test1 = new Test1;
$test1->Test1Method();
我觉得这很奇怪。任何人都可以向我解释为什么会这样吗?
最佳答案
来自 http://www.php.net/manual/en/language.oop5.basic.php :
The pseudo-variable
$this
is available when a method is called from within an object context.$this
is a reference to the calling object (usually the object to which the method belongs, but possibly another object, if the method is called statically from the context of a secondary object).
不过,这不一定很有意义,如果启用了 E_STRICT
,则会引发警告。
关于PHP:一个类中的 $this 变量如何成为另一个类的对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4760370/