они едят пищу, но данный стиль отличается, так что на самом деле это может быть полезно
Вы должны прочитать о type-hints. Интерфейсы полезны для управления объектами, которые обмениваются поведением, но вы не знаете до запуска, какой объект вам придется использовать.
Рассмотрите функцию, которая заставляет существа есть. Так как вы делаете интерфейс, вы можете ввести намекают интерфейс в функции, поэтому он может управлять любым едят существа:
function makeEat(eat $obj) { $obj->ways_of_eating_food(getFood()); }
function getFood() { return $food; }
Если вы не определили, однако интерфейс, вы должны сделать функцию, чтобы сделать люди едят, еще один, чтобы кошки едят, еще один, чтобы собака ест и т. д. Это действительно непрактично. Используя интерфейс и тип-намекая его на функцию, вы можете использовать ту же функцию для выполнения той же работы.
как может взаимодействовать поддерживает множественное наследование
Как commented Винсент:
PHP поддерживает наследование Многоуровневая, а не множественное наследование.
Это означает, что вы можете реализовать несколько различных интерфейсов, но не расширить несколько классов.
interface living { public function eat(food $food); }
interface food { public function getEnergyValue(); }
interface animal { public function breath(); }
class cow implements living, animal
{
private $energy = 0;
private $secondsRemaining = 10;
public function eat(food $food) { $this->energy += $food->getEnergyValue(); }
public function breath() { $this->secondsRemaining += 10; }
}
class salad implements food
{
private $value = 50;
public function getEnergyValue() { return $this->value; }
}
$bob = new cow();
$bob->eat(new salad());
Возможный дубликат [PHP Интерфейсы: Как они годные к употреблению на практике] (http://stackoverflow.com/questions/7380720/php-interfaces-how-are-they-usable-in-practice) – Machavity
его не очищено –
PHP поддерживает многоуровневое наследование, а не множественное наследование. Это означает, что у вас не может быть одного класса, наследующего форму 2 других класса. – wiredolphin