標題可能沒有意義,不確定如何將其打開。無論如何,我在與暴動遊戲API同時練習捲曲和OOP。 API是一種愚蠢的地方,你想要請求的某些信息需要你不知道的輸入,所以它需要另一個單獨的調用才能獲得所需的信息。在另一個公共功能中使用一個公共功能
class league
{
const URL = 'http://prod.api.pvp.net/api/lol/na/v1.1/';
const URL_2 = 'http://prod.api.pvp.net/api/lol/na/v2.1/';
const KEY = 'key';
public function summonerByName($summoner_name)
{
$request = 'summoner/by-name/' . $summoner_name . '?api_key =' . self::KEY;
return $this->fetch($request);
}
public function recentGamesByName($summoner_name)
{
//need to make two calls for this since you cant get recent games by name in the api
$id = summonerByName($summoner_name);
//now get recent games
$request = 'game/by-summoner/' . $id->id . '/recent';
return $this->fetch($request);
}
private function fetch($request)
{
$url = self::URL . $request . '?api_key=' . self::KEY;
$curl = curl_init($url);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
$data = curl_exec($curl);
curl_close($curl);
return json_decode($data);
}
}
這是回訪Fatal error: Call to undefined function summonerbyname()
,如果我在public function recentGamesByName()
,而不是$id = summonerByName()
它工作正常使用下面這些額外的代碼,但它似乎沒有必要,我想,以取代只用功能。
$grg = self::URL . 'summoner/by-name/' . $summoner_name . '?api_key=' . self::KEY;
$placeholder = curl_init($grg);
curl_setopt($placeholder, CURLOPT_RETURNTRANSFER, 1);
$ph_result = curl_exec($placeholder);
curl_close($placeholder);
$ph_result = json_decode($ph_result);
我將它切換到'$ id = $ this-> summonerByName($ summoner_name);'。現在'$ id-> id'什麼也沒有。實際上'var_dump($ id)'什麼也沒有。 – robz228
不要說這只是summonerByName函數的一個問題,但這是我錯了。謝謝! – robz228