如何在同一个类的函数内调用类中的函数?

时间:2012-10-26 07:14:13

标签: php class

我是PHP类的新手,我想知道如何调用一个驻留在我调用它的同一个类中的函数。这是对的还是最好的方法?

page1.php中:

 $object=new MyClass();
 $object->func1(); 

MyClass.php:

class MyClass{

    function func1(){
        ....
         $object->func2();
    }

    function func2(){
        ....
    }

}

我想这样做的原因是因为func1会在func1的末尾调用func2但是我还需要在其他情况下独立于func1使用func2,我想如果这是可能的话会减少代码(即使它是来自func2的简单复制/粘贴并将其放在func1的末尾。)

编辑:或者我可以使用:

self::func2();

4 个答案:

答案 0 :(得分:7)

您可以使用$this来引用当前对象,从而调用$this->func2()

(当您处于对象实例的上下文中时,PHP会自动填充$this的值。)

答案 1 :(得分:5)

而不是

$object->func2

$this->func2()

答案 2 :(得分:1)

class MyClass{

    function func1(){
        ....
        $this->func2()
    }

    function func2(){
        ....
    }

}

您可以使用$this来调用类

中的内部函数和内部变量

答案 3 :(得分:0)

如果您想从func1拨打电话,请使用$this->func2();

从课外拨打电话,使用$object->func2();

但是如果你不需要func2,你可以将代码移到func1的末尾,你可能需要从func2更改一些代码,这是你的选择。