使用$ this->什么时候调用类范围的函数(方法)?

时间:2011-08-11 19:05:07

标签: php function this

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

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

class parentClass{
    public function calculate(){

    }
}

或者总是需要$this->

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

5 个答案:

答案 0 :(得分:3)

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

此外,您可以使用全局函数,不需要$this->

答案 1 :(得分:1)

function myMethod() { echo "Outside Class Scope"; }

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

   function what_to_call() {
       myMethod();
   }
}

PHP在A类的myMethod()方法中遇到what_to_call()时应该执行什么功能?

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

答案 2 :(得分:0)

您需要使用此$ this->当你在调用方法时

答案 3 :(得分:0)

如果您引用的是某个方法(即在类中定义的函数),则必须使用

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

答案 4 :(得分:0)

$this-> my_function

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