我的问题是关于$this
的设计目的。为什么在类中使用$this
来调用成员函数,类不知道自己的函数,函数在其中彼此不知道吗?
就像一个姐姐叫她的哥哥——嘿,我的哥哥马克,玛丽的儿子,也是我的母亲,过来;
我说清楚了吗?我找不到类似的问题,我认为这不是重复的。
好吧,假设您不必使用 $this
:
<?php
function x(){echo "nope";}
class A {
function x(){echo "x";}
function y(){x();}
}
$o = new A;
$o->y();
?>
x()
这意味着输出是x
的,但是如果你现在不想从类中调用函数x()
,而是另一个,你想怎么说呢? 心灵感应?
如何调用不在类中但与类方法同名的函数?您是否希望不能使用类定义之外的任何函数?
所以这就是为什么你"说"($this
)你现在从类中调用一个方法!