在 PHP 中计算类中的成员函数时,使用 $this 不是多余的吗?


Isn't the use of $this redundant when caling a member function within a class in PHP?

我的问题是关于$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)你现在从类中调用一个方法!