我不熟悉使用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;
}
这是在Class 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();
我们非常感谢这个社区的帮助。 提前致谢
答案 0 :(得分:1)
问题是你使用self :: getLocations()静态调用getLocations;
$this->getLocations()
允许您使用实例化的类来调用getLocations()。