gpt4 book ai didi

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

转载 作者:IT老高 更新时间:2023-10-28 11:44:54 26 4
gpt4 key购买 nike

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

class a extends b extends c

编辑:我知道如何一次扩展一个类,但我正在寻找一种方法来使用多个基类立即扩展一个类 - AFAIK 你不能在 PHP 中做到这一点,但应该有办法解决它不诉诸class c extends bclass b extends a

最佳答案

如果你真的想在 PHP 5.3 中伪造多重继承,你可以使用魔术函数 __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 - 我可以在 PHP 中使用多个类来扩展一个类吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/356128/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com