从位于另一个公共函数中的函数访问类内部的函数

时间:2014-11-21 16:19:29

标签: php oop

我正在尝试访问函数file_get_contents_curl。来自fucntion get_facebook_details()

class frontend {

    public function file_get_contents_curl($domain) {

    }

    public function get_all_seo_details() {
      require_once('details-functions.php');
      $facebook_details = get_facebook_details($cur_domain);
    }

}

细节-的functions.php

function get_facebook_details() {
  $result = file_get_contents_curl('http://graph.facebook.com/'.$username);
  //.... some more code
}

我试过了:

$result = self::file_get_contents_curl('http://graph.facebook.com/'.$username);

致命错误:当没有类范围处于活动状态时,无法访问self ::

$result = $this->file_get_contents_curl('http://graph.facebook.com/'.$username);

非对象此错误

$result = frontend::file_get_contents_curl('http://graph.facebook.com/'.$username);

严格标准:不应静态调用非静态方法前端:: file_get_contents_curl()

致命错误:调用未定义的函数file_get_contents_curl()

2 个答案:

答案 0 :(得分:1)

您应该将该函数编写为static。 self::可用于静态调用函数。如果您不将该函数写为静态,则可以使用$this->来调用该函数。试试这样的事情

class frontend {
    public static function file_get_contents_curl($domain) {

    }

    public static function get_all_seo_details() {
       require_once('details-functions.php');
       $facebook_details = get_facebook_details($cur_domain);
   }
}

答案 1 :(得分:0)

如果您希望在课堂外静态调用这些方法,则需要将这些方法设为静态。

public static function file_get_contents_curl(){ ... }