В даний час прийнята відповідь від @Franck буде працювати, але насправді це не багатократне успадкування, а дочірній екземпляр класу, визначений поза межами області, також є __call()
скорочення - подумайте про використання в будь- $this->childInstance->method(args)
якому місці методу класу ExternalClass у "розширеному" класі.
Точна відповідь
Ні, ви не можете, відповідно, не дуже, як говорить посібник із extends
ключових слів :
Розширений клас завжди залежить від одного базового класу, тобто багатократне успадкування не підтримується.
Справжня відповідь
Однак, як @adam запропонував правильно, це НЕ забороняє вам використовувати багато ієрархічного успадкування.
Ви МОЖЕТЕ розширити один клас, інший та інший інший тощо.
Таким досить простим прикладом цього є:
class firstInheritance{}
class secondInheritance extends firstInheritance{}
class someFinalClass extends secondInheritance{}
//...and so on...
Важлива примітка
Як ви могли помітити, ви можете робити кілька (2+) інтегритацій за ієрархією лише в тому випадку, якщо у вас є контроль над усіма класами, включеними в процес - це означає, що ви не можете застосувати це рішення, наприклад, із вбудованими класами або з класами, які ви просто не вдається редагувати - якщо ви хочете це зробити, вам залишається вирішити @Franck - дочірні екземпляри.
... І, нарешті, приклад з деяким результатом:
class A{
function a_hi(){
echo "I am a of A".PHP_EOL."<br>".PHP_EOL;
}
}
class B extends A{
function b_hi(){
echo "I am b of B".PHP_EOL."<br>".PHP_EOL;
}
}
class C extends B{
function c_hi(){
echo "I am c of C".PHP_EOL."<br>".PHP_EOL;
}
}
$myTestInstance = new C();
$myTestInstance->a_hi();
$myTestInstance->b_hi();
$myTestInstance->c_hi();
Які виходи
I am a of A
I am b of B
I am c of C