2014-11-21 60 views
1

我正在嘗試訪問函數file_get_contents_curl。來自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); 

致命錯誤:無法訪問自::當無級範圍是有效的。

$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()

+0

那麼首先,你應該擺脫方法體內的require語句。你爲什麼要這樣做? – cypher 2014-11-21 16:28:34

回答

1

您應該將函數編寫爲靜態。 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); 
    } 
} 
+0

是的,現在使用'前端'或'自己' – user3467855 2014-11-21 16:24:10

+0

'$ this->'也沒有工作。 – user3467855 2014-11-21 16:31:22

+0

如果函數不是'static',則使用'$ this' – MH2K9 2014-11-21 16:32:50

0

如果您希望在類之外靜態調用它們,則需要使這些方法成爲靜態方法。

public static function file_get_contents_curl(){ ... } 
相關問題