关于oop:如何拥有多个继承PHP

How to have multiple Inheritance PHP

本问题已经有最佳答案,请猛点这里访问。

我有两个班级叫Ra_shortcode和wpbackeryshortcodesconner

现在我需要一个三级的ra shortcodecontainer继承这两个类。

知道如何实现它吗?

提前谢谢


简短的回答是:你没有。

基于类名(顺便说一句,查找名称空间的概念),甚至不需要多个继承。

当类B从类A继承时,表示类AB的特例。

也许这能说明你的处境。假设您有一个类BoxCat。现在你需要一个专门的BoxForCats课程。BoxForCats不应从Cat延伸。相反,你应该应用作文。

你的RA_ShortcodeContainer课应该有:

1
2
3
4
public function addShortcode(RA_Shortcode $shortcode)
{
    $this->list[] = $shortcode;
}

P.S. read up about LSP


目前没有用PHP实现多重继承的方法。您可以使用特性来实现您试图实现的目标,也可以使用REQUEST、INCLUDE或USE语句(或依赖注入)来包含类。然而,特质似乎是最好和最直接的方式。