我是使用php类的新手,所以请耐心等待。
我收到此错误:
"致命错误:不在对象上下文中使用$this..."
我正在尝试调用同一类中的函数。 我能够从另一个类调用相同的函数,所以我很困惑。
以下是该类的代码片段:
public function listLocations() {
// get all the locations
$listLocations = self::getLocations();
echo '<div class="wrap"><div id="icon-options-general" class="icon32"><br></div><h2>Locations Class</h2></div>';
foreach ($listLocations as $data) {
echo 'Location - '.$data->location.'<br>';
}
}
public function getLocations(){
$Locations = $this->db->get_results("select location_id, location FROM {$this->soups_locations_db}");
return $Locations;
}
这是在类Foo_Locations
我使用另一个类的这个代码片段调用相同的函数。 我得到了我正在寻找的结果,没有错误,所以我很困惑。
$myLocations = count(Foo_Locations::getLocations());
错误指向Foo_Locations类中的此行
$Locations = $this->db->get_results("select location_id, location FROM {$this->soups_locations_db}");
但我认为它与这行有关:
$listLocations = self::getLocations();
这个社区的帮助总是非常感谢。提前致谢
问题是你使用 self::getLocations() 静态调用 getLocations;
$this->getLocations()
允许您使用实例化的类来调用 getLocations()。