我是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();
答案 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更改一些代码,这是你的选择。