繁体   English   中英

如何从同一个 class 中的 function 中调用 class 中的 function?

[英]How to call a function inside a class from within a function in the same class?

我是 PHP 类的新手,我想知道如何调用 function,它位于我调用它的同一个 class 中。 这是正确的还是最好的方法?

第 1.php 页:

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

我的班级.php:

class MyClass{

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

    function func2(){
        ....
    }

}

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

编辑:或者我可以使用:

self::func2();

您可以使用$this引用当前对象,然后调用$this->func2()

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

代替

$object->func2

$this->func2()
class MyClass{

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

    function func2(){
        ....
    }

}

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

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

要从类外部调用,请使用$object->func2();

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

对于带有 AWS lightsail PHP V8 的 Drupal V9

$object = new \Drupal\rawcustom\Controller\RawcustomController(); $cont = $object->getMarketingBanner();

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM