如何将一个函数从一个类转换为另一个类中的另一个函数

时间:2016-08-10 10:51:12

标签: php wordpress function class

我试图使用一个类中的函数并在另一个类中的另一个函数中使用它。 classTest.php

class Test extends WC_Payment_Gateway{
    public function testing(){
       $anotherClass = new anotherClass;
       $anotherClass->testFunction();
    }
}

anotherClass.php

class anotherClass{
    public function testFunction(){
        echo "This is the test function";
    }
}

我希望我有道理

2 个答案:

答案 0 :(得分:0)

classTest.php

首先包含anotherClass.php然后使用$anotherClass = new anotherClass();创建另一个类的对象并调用另一个类$anotherClass->testFunction();的函数

include ("anotherClass.php");
class Test extends WC_Payment_Gateway{
    public function testing(){
       $anotherClass = new anotherClass();
       $anotherClass->testFunction();
    }
}
  

或者

class A
{
    private $name;

    public function __construct()
    {
        $this->name = 'Some Name';
    }

    public function getName()
    {
        return $this->name;
    }
}

class B
{
    private $a;

    public function __construct(A $a)
    {
        $this->a = $a;
    }

    function getNameOfA()
    {
        return $this->a->getName();
    }
}

$a = new A();
$b = new B($a);

$b->getNameOfA();

在此示例中,首先创建A类的新实例。之后我创建了一个B类的新实例,我将A的实例传递给构造函数。现在B可以使用A访问$this->a班级的所有公开成员。

另请注意,我没有在A类中实例化B类,因为这意味着我将两个类紧密结合在一起。这使得很难:

  1. 对您的B课程进行单元测试
  2. A类替换为另一个类

答案 1 :(得分:0)

你可以从任何其他类调用函数只需要在php文件中包含所需的类,所以在你的例子中,如果你想调用test函数:

<?php
include_once('anotherClass.php');

class Test extends WC_Payment_Gateway{
    public function testing(){
       $anotherClass = new anotherClass;
       $anotherClass->testFunction();
    }
}