カールリクエストをしました。私はcurl命令を1つのクラス関数に入れました:
class Curly {
var $data;
function GetRequest($url) {
$ch = curl_init();
$timeout = 5;
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
$this->data = curl_exec($ch);
curl_close($ch);
//this is what i was missing --> return $this->data;
}
データベースクエリを別のクラス関数に入れました。
include('class.curly.php');
class mongoSearchForInfoOnEsd {
public function getEsdsFbInfo($esdID) {
$mongoApiKey = "xx";
$requestParams= "xx";
$url = "xx";
$fbInfo = (new Curly)->GetRequest($url);
//this is what i was missing --> return $fbInfo;
}
index.phpでは、WebhookからのHTTPポストが送信され、いくつかの文字列を解析して2つのIDを取得します。次に、それらのIDの1つをmongodb curlリクエストに送信すると、すべてがうまくいきます。正しい応答が返されます。カーリークラスのvar_dumpのvar_dumpのこのb/cしかわかりません。しかし、インデックスファイルでは、varからデータを取得してその値を割り当てるのに苦労しています。私が望む任意の変数に。
どうすればデータを取り出すことができますか?私はそこにあることを知っていますが、どこですか?私はとても立ち往生しています。
# get ytID from http post
#get EsdID from http post
$httpPostData = file_get_contents('php://input');
$postDataDecoded = urldecode($httpPostData);
$ytID = substr($postDataDecoded, strpos($postDataDecoded, "docid=") + strlen("docid="), );
$esdID = substr($postDataDecoded, strpos($postDataDecoded, "m\": \"") + strlen ("m\": "),;
*$esdData = (new mongoSearchForInfoOnEsd)->getEsdsFbInfo("$esdID");*
$obj = json_decode($esdData, true);
echo $obj;
OK、returnを追加しました。データを確認できますが、返されたデータに対して操作が機能していません。
編集--->両方のクラスにreturnを入れ、完全に機能するようになりました。