我可以在PHP中使用多个类来扩展一个类吗?

如果我有几个具有所需功能的类,但想单独存储以进行组织,我可以扩展一个类以同时拥有这两个类吗?

class a extends b extends c

编辑:我知道如何一次扩展一个类,但是我正在寻找一种使用多个基类立即扩展一个类的方法-

AFAIK,您不能在PHP中做到这一点,但是应该有一些解决方法,而不必诉诸于class c extends bclass b extends a

回答:

回答您的编辑:

如果您确实想伪造多重继承,则可以使用魔术函数__call()。

尽管从A类用户的角度来看,这很丑陋:

class B {

public function method_from_b($s) {

echo $s;

}

}

class C {

public function method_from_c($s) {

echo $s;

}

}

class A extends B

{

private $c;

public function __construct()

{

$this->c = new C;

}

// fake "extends C" using magic function

public function __call($method, $args)

{

$this->c->$method($args[0]);

}

}

$a = new A;

$a->method_from_b("abc");

$a->method_from_c("def");

打印“ abcdef”

以上是 我可以在PHP中使用多个类来扩展一个类吗? 的全部内容, 来源链接: utcz.com/qa/403216.html

回到顶部