У меня есть электронный магазин с несколькими типами продуктов. И я бы подумал о следующей структуре
Cart_Item -- Cart_Product -- Cart_Download Order_Item extends Cart_Item -- Order_Product -- Order_Download
Проблема в том, что я хочу, чтобы Order_Product расширил Order_Item и Cart_Product. Это связано с тем, что для метода Order_Item (получить цену от Order not from product) требуется метод generic, но также методы из Cart_Product (расчеты доставки)
Я знаю, что php не поддерживает множественное наследование, я блуждал, что является самым чистым способом подражать этому.
Прямо сейчас у меня есть Order_Product, расширяющий дубликат кода Cart_Product от Order_Item в Order_Product Order_Download.