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

时间:2016-02-19 20:33:26

标签: php class 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;

}

这是在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();

我们非常感谢这个社区的帮助。 提前致谢

1 个答案:

答案 0 :(得分:1)

问题是你使用self :: getLocations()静态调用getLocations;

$this->getLocations()允许您使用实例化的类来调用getLocations()。