Прежде всего, вы должны одобрить composition over inheritance. Возможно, ваш «я могу наследовать от нескольких классов» является признаком недостатка дизайна.
В любом случае, если вам нужно «заказать флажок списка класс», то структура должна быть:
class OrderedList extends List{}
class CheckboxList extends OrderedList{}
Кроме того, я хотел бы предложить, чтобы избежать использования черты в данном случае, потому что Черты характера в PHP на самом деле Интерпретатор скопировал копию. Для этого нет явной выгоды.
Кстати, есть еще один подход, на который вы можете обратить внимание: в то время как CheckboxList расширяет List, у вас может быть другой объект, ответственный за его заказ. Черт, если вы внесете ArrayAccess
в класс List
, вы можете использовать только встроенную функцию /usort()
(или ksory()
/uksort()
в зависимости от того, как вы храните поля) .. думал, что я не пробовал это на самом деле.
Очень хороший пример кода (очень краткий [SSCCE] (http://sscce.org/)) – Lion
Прошлый код. В любом случае, о множественном наследовании, вы можете прочитать о чертах. Новая функция на php (версия 5.4.0). http://php.net/manual/en/language.oop5.traits.php – Cloudson