实现接口时,php中有500个内部错误

时间:2017-09-10 06:52:23

标签: php interface

我正面临着此代码的问题。这显示500内部错误。文件名是Dog.php。有人可以帮助我。

interface Animal{

     public function bark(){ 

     }
     public function eat(){ 

     }

}

class Dog implements Animal {


    public function bark(){

        echo "bark bark";
    }
     public function eat(){
        echo "Biscuits";
    }


}
$d =  new Dog();
$d->bark();

3 个答案:

答案 0 :(得分:1)

当您提供界面时,不允许使用正文

interface Animal{

     public function bark(); //remove body
     public function eat(); //remove body

}

class Dog implements Animal {


    public function bark(){

        echo "bark bark";
    }
     public function eat(){
        echo "Biscuits";
    }


}
$d =  new Dog();
$d->bark();

答案 1 :(得分:1)

您的界面功能不应该有正文。你必须这样声明它们:

interface Animal{
    public function bark();
    public function eat();
}

有关详细信息,请查看PHP documentation on interfaces

答案 2 :(得分:0)

接口是对象可以执行的操作的描述。它应该只将那些操作定义为不应包含任何实现代码的函数签名。接口的目的是强制实现对象以实现这些操作。这就是为什么在你的 Animal 界面中你应该只定义 bark eat 函数签名并删除实现部分(we use {} to start our implementation)和你的<强>狗课应该有的实施方式 会吠叫吃。

interface Animal {
     public function bark(); 
     public function eat();
}