2012-12-13 73 views
2

如何在PHP中调用父类类的非静态方法的子类的静态方法?请帮忙。如何在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

如果你真的需要从静态方法中调用非静态方法。您可能不会将您的方法声明为“静态”。你真的不想在这里使用'Static'方法 –

+1

但是我有一种情况,我不能实例化我的类的一个对象。 –

+0

好的,我必须找到解决方法.. –

回答

2

你不能;静态项目与其他静态项目一起工作。

1

我很确定你不能从静态方法调用非静态方法(不管是父类还是子类)。这是因为无法知道在静态方法中应该从...调用非静态方法的实例。对于所有OOP语言,这应该是正确的。

1

总之,你不能

你是不是能够从一个子类的static方法调用父类的非static方法。

你最好的选择是使该方法不static

相关问题