1

我是 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

4 回答 4

10

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

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

于 2012-10-26T07:15:09.080 回答
5

代替

$object->func2

$this->func2()
于 2012-10-26T07:16:13.713 回答
2
class MyClass{

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

    function func2(){
        ....
    }

}

您可以$this用来调用类中的内部函数和内部变量

于 2012-10-26T07:17:17.127 回答
0

如果您想从 func1 调用,请使用$this->func2();

从课堂外调用,使用$object->func2();

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

于 2012-10-26T07:18:41.377 回答