我有这个代码,我正在扩展一个类,但它说方法是未定义的。
<?php
class api{
//$api_Key;
public function getURL($url){
return file_get_contents($url);
}
public function postURL($url){
$ch = curl_init( $url );
curl_setopt( $ch, CURLOPT_POST, 1);
curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec( $ch );
curl_close($ch);
return $response;
}
public function getJSON($json){
return json_decode($json);
}
}
class geo extends api{
public function getLocation(){
return json_decode(postURL("https://www.googleapis.com/geolocation/v1/geolocate?key=$key"));
}
}
class vote extends geo {
// Class properties and methods go here
}
?>
要在网上查看的PHP文件
<?php
include("php/vote.php");
$geo = new geo();
echo $geo->getLocation();
?>
我收到此错误致命错误:
调用未定义的方法geo :: json_decode()in 第22行的G:\ wamp \ www \ voting \ php \ vote.php
我还没有找到能够帮助我解决这个问题的事情。我有正确的父母和子女课程,或者我认为我做了。 它正在扩展课程,所以我不确定为什么它是未定义的任何帮助都会很棒。
答案 0 :(得分:2)
@Path("path/pathParam/{pathParamVal : [0-1,3-9]}")
是一个内置的PHP函数,而不是任何一个类的方法。您还忘记了方法json_decode()
的{{1}}参考。从$this
移除postURL()
并使用$this
:
json_decode()
但我认为你确实想要使用你的方法$this->postURL
:
return json_decode($this->postURL("https://www.googleapis.com/geolocation/v1/geolocate?key=$key"));