2012-12-13 84 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

相關問題