这是我的第二个问题,我什至认为,我自己回答了上一个问题。无论如何,我有一个 OOP 的基本问题,关于如何从另一个类调用非静态方法。例子: 我们在文件 A.class.php 中有一个名为 A 的类
class A {
public function doSomething(){
//doing something.
}
}
和另一个文件 B.class.php 中名为 B 的第二个类
require_once 'A.class.php';
class B {
//Call the method doSomething() from the class A.
}
我想现在一切都清楚了。如何:从类 A 调用方法 doSomething()?
最佳答案
B 类需要一个 A 类的对象来调用方法:
class B {
public function doStuff() {
$a = new A();
$a->doSomething();
}
}
或者,您可以在 B 之外创建 A 的实例并将其传递给 B 的构造函数以创建对它的全局引用(或将其传递给单独的方法,您可以选择):
class B {
private $a = null;
public function __construct($a) {
$this->a = $a;
}
public function doStuff() {
$this->a->doSomething();
}
}
$a = new A();
$b = new B($a);
关于php - 如何从另一个类调用非静态方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12826126/