Puis-je étendre une classe à l'aide de plus de 1 classe en PHP?

Si j'ai plusieurs classes avec des fonctions que j'ai besoin mais souhaitez stocker séparément pour l'organisation, je peux étendre une classe à avoir les deux?

c'est à dire class a extends b extends c

edit: je sais comment étendre les classes une à une, mais je suis à la recherche d'une méthode pour instantanément d'étendre une classe à l'aide de plusieurs classes de base - autant que je sache, vous ne pouvez pas le faire en PHP, mais il devrait y avoir des moyens autour d'elle sans avoir recours à class c extends b, class b extends a

  • L'utilisation d'agrégation ou d'interfaces. L'héritage Multiple n'existe pas en PHP.
  • Je suis à la recherche dans les interfaces que je ne suis pas un grand fan des grandes hiérarchies de classes. Mais je ne vois pas comment les interfaces de faire quoi que ce soit?
  • Interfaces vous permettent de "héritent" de l'API uniquement, pas de corps de fonction. C'forces de catégorie a à mettre en œuvre des méthodes de l'interface b et c. Cela signifie que si vous voulez hériter problème, vous devez d'agrégation des objets membres des classes b et c dans votre classe un.
  • Je veux dire mettre private $b (instance de b) et private $c (instance de c) dans votre classe un, si ce n'était pas assez claire.
  • Pensez à utiliser les Décorateurs sourcemaking.com/design_patterns/decorator ou des Stratégies de sourcemaking.com/design_patterns/strategy
  • J'avais ma question si je pense que l'héritage multiple, la meilleure solution à mon problème. J'ai couru en bas de cette route et suis tombé sur cette question. En règle générale, si vous essayez de faire quelque chose qui n'est pas naturellement pris en charge par la langue, vous devriez vous interroger sur votre conception. L'héritage Multiple semble trop confus et maladroit.
  • Veuillez considérer les traits comme la réponse correcte.

InformationsquelleAutor atomicharri | 2008-12-10