PHP中如何从子类的静态方法调用父类的非静态方法
在PHP中,如何从子类的静态方法调用父类的非静态方法?请帮忙PHP中如何从子类的静态方法调用父类的非静态方法,php,class,static,Php,Class,Static,在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){ $country
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;
}
}
你不能;静态项与其他静态项一起工作。您不能;静态项与其他静态项一起工作。我非常确定您不能从静态方法调用非静态方法(无论是父方法还是子方法)。这是因为没有办法知道应该在哪个实例上调用非静态方法。。。。在静态方法中使用。这对于所有OOP语言都应该是正确的。我非常确定您不能从静态方法调用非静态方法(无论是父方法还是子方法)。这是因为没有办法知道应该在哪个实例上调用非静态方法。。。。在静态方法中使用。这对于所有OOP语言都应该是正确的。简而言之,您不能 您无法从子类的
静态
方法调用父类的非静态
方法
您最好的选择是使方法非静态简言之,您不能 您无法从子类的
静态
方法调用父类的非静态
方法
如果确实需要从静态方法中调用非静态方法,那么最好的选择是使该方法成为非静态方法。您可能没有将方法声明为
静态
。你真的不想在这里使用Static
方法,但是我遇到了一个无法实例化类的对象的情况。好的,我必须找到一种解决方法。是的,放弃Static。你用静电欺骗了自己,这就是为什么我们通常尝试提前警告。一种解决方法是将父实例分配给静态类成员,这样您就有了一个带有单个实例的全局变量。如果您确实需要从静态方法中调用非静态方法。您可能没有将方法声明为静态
。你真的不想在这里使用Static
方法,但是我遇到了一个无法实例化类的对象的情况。好的,我必须找到一种解决方法。是的,放弃Static。你用静电欺骗了自己,这就是为什么我们通常尝试提前警告。一种解决方法是将父实例分配给静态类成员,以便获得一个带有单个实例的全局变量。