php接口方法覆盖

时间:2012-07-19 14:04:38

标签: php interface override

<?php
interface a {
    public function bar();
}
interface b extends a {
    public function foo();
    public function bar($a);
}

?>

显示方法中签名不匹配的致命错误。是不是可以覆盖php中的接口方法?

1 个答案:

答案 0 :(得分:3)

您收到签名不匹配错误,因为这两个bar函数不兼容。

您可以通过将界面更改为

来解决此问题
interface b extends a {
    public function foo();
    public function bar($a = null);
}

虽然这可能不是一个完整的解决方案,但您现在会收到Can't inherit abstract function错误。