3

如何在 PHP 中调用父类的非静态方法形成子类的静态方法?请帮忙。

 public static function countryArray(){
    $sql = "SELECT `country_id`, `country_name` FROM `dr_tbl_country`";
    $resultSet  = parent::dBQueryExecute($sql);
    if(mysql_num_rows($resultSet) > 0){
        $countryArray = array();
        while($result = mysql_fetch_array($resultSet)){
            extract($result);
            $countryArray[$country_id]['country_id'] = $country_id;
            $countryArray[$country_id]['country_name'] = $country_name;
        }
        return $countryArray;       
    }else{
        return false;
    }
}
4

3 回答 3

2

你不能;静态项目与其他静态项目一起使用。

于 2012-12-13T07:00:23.443 回答
1

我很确定您不能从静态方法(无论是父级还是子级)调用非静态方法。那是因为没有办法知道应该在什么实例上调用非静态方法...... from with in the static method。这应该适用于所有 OOP 语言。

于 2012-12-13T07:04:31.637 回答
1

简而言之,你不能

您不能static从子类的方法调用父类的非方法static

您最好的选择是使该方法非static

于 2012-12-13T07:07:03.477 回答