我遇到了使用 php 类$this错误



我是使用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()。

最新更新