使用$this->;调用类作用域函数(方法)时


Use $this-> when calling a class-scoped function (method)?

有没有办法在PHP中编译以下内容:

class myClass extends parentClass{
    function myFunction(){
        calculate();
    }
}
class parentClass{
    public function calculate(){
    }
}

还是始终需要$this->

class myClass extends parentClass{
    function myFunction(){
        $this->calculate();
    }
}

函数中需要$this->,定义为类方法。

您也可以使用类外的全局函数,它们不需要$this->

function myMethod() { echo "Outside Class Scope"; }
class A {
   function myMethod() { echo "Inside Class Scope"; }
   function what_to_call() {
       myMethod();
   }
}

当PHP在类A的what_to_call()方法中遇到myMethod()时,应该执行什么函数?

还要考虑一个长的继承链,每个祖先都有自己的myMethod()。PHP应该调用什么方法?当前对象的?父母的?祖父母的?

当您调用方法

时,您需要使用此$this->如果引用方法(即在类内部定义的函数(,则必须使用

$this->calculate()本身引用了类之外的函数(就像任何内置函数一样(,这不是您想要的。

$this-> my_function

此语句用于将函数调用到类中:(