这是我的第二个问题,尽管我自己回答了上一个问题。不管怎样,我有一个 OOP 的基本问题,即如何从另一个类调用非静态方法。示例:我们在文件 A.class.php 中有一个名为 A 的类
class A {
public function doSomething(){
//doing something.
}
}
Run Code Online (Sandbox Code Playgroud)
另一个文件 B.class.php 上有一个名为 B 的第二个类
require_once 'A.class.php';
class B {
//Call the method doSomething() from the class A.
}
Run Code Online (Sandbox Code Playgroud)
我想现在一切都清楚了。如何:从类 A 调用 doSomething() 方法?
B 类需要 A 类的对象来调用该方法:
class B {
public function doStuff() {
$a = new A();
$a->doSomething();
}
}
Run Code Online (Sandbox Code Playgroud)
或者,您可以在 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);
Run Code Online (Sandbox Code Playgroud)