如何在父类中访问同名方法?

时间:2017-07-02 19:12:25

标签: php function class oop inheritance

以下是我的代码的简化:

class questions {

    public function index( $one = '', $two = '', $three = '' ) {
        return 'sth';
    }
}


class tags extends questions {

    public function index () {
        return parentClass::index();
    }

}

但是我的代码抛出了这个错误:

enter image description here

有谁知道如何修复错误?

expected result is printing: sth

1 个答案:

答案 0 :(得分:2)

如果扩展一个类并覆盖一个方法,则必须确保重写的方法具有相同的" prototype",即它必须具有相同数量的方法参数。这就是你得到第一个警告的原因:

  

警告:标签声明:: index()应该与问题兼容:: index($ query_where ='',$ query_join ='',$ called_from = NULL ) C:\ xampp \ htdocs \ myweb \ others \ tags.php 在线 3

其次,如果您想从父类调用具有相同名称的函数,则需要使用parent关键字:

class tags extends questions {

    public function index ($query_where = '', $query_join = '', $called_from = NULL) {
        return parent::index($query_where, $query_join, $called_from);
    }

}