PHP ne peut pas s'étendre à partir de l'interface?

J'écris ci-dessous dans un fichier php.

<?php
interface people
{
    public function take($s);
}

class engineer extends people
{
    public function take($s){
        echo $s;
    }
}
?>

Le peuple est une interface, l'ingénieur s'étend de personnes.
Mais lorsque j'exécute ce code, le message d'erreur:

Fatal error: Class engineer cannot extend from interface people in E:\php5\Mywwwroot\b.php on line 12

Ce qui s'est passé? Ma version de PHP est de 5,4.

Classes implémentent des interfaces, de ne pas les prolonger.
PHP utilise la méthode Java pour empêcher le diamant problème - Voir en.wikipedia.org/wiki/Multiple_inheritance - d'où le mot-clé implements
Merci à vous tous de vous. Folles de moi.
Juste une parenthèse ici, alors votre problème est techniquement fixe, cet exemple pourrait être mieux adapté à l'héritage de classe, par opposition à l'implémentation de l'interface. C'est un ingénieur est un type de personne, et de prendre sur la plupart des méthodes et la fonctionnalité d'une personne, ainsi que d'autres, ingénieur spécifiques, des méthodes. Par conséquent, vous n'êtes pas la mise en œuvre d'une interface, mais sont au contraire de prolonger la "personne" de la classe. Je ne serait certainement pas aller aussi loin que de faire de "personne" est une classe abstraite ou quoi que ce soit, même si, comme il semble raisonnable que vous pouvez utiliser la classe de base dans l'isolement.
A ma réponse réponse à votre question?

OriginalL'auteur roast_soul | 2013-09-16