$url1=$aa->geturl("リクエストレポート");
$url2=$aa->geturl("GetReportList");
$url3=$aa->geturl("GetReport");
各実行前に配列を明確にクリアします
$this->parameter=array();
ただし、出力時には、各配列には最後に割り当てられた値が含まれます。
毎回の結果:
$url1: ReportType=_GET_MERCHANT_LISTINGS_DATA_
$url2: ReportType=_GET_MERCHANT_LISTINGS_DATA_&ReportRequestIdList.Id.1=123456
$url3: ReportType=_GET_MERCHANT_LISTINGS_DATA_&ReportRequestIdList.I 23456&ReportId=123456
何が問題ですか? ? ?
public function setParm($parameter, $value) { $this->parameter[$parameter] = $value; return $this; }function geturl($type){ $this->setproductparm($type); return $this->getData(); } private function setproductparm($urltype){ $this->parameter=array(); $this->type=""; $this->setParm("Marketplace",self::marketplaceId); $this->version="2009-01-01"; switch ($urltype){ case "RequestReport": $this->setParm("Action","RequestReport"); $this->setParm("ReportType","_GET_MERCHANT_LISTINGS_DATA_"); break; case "GetReportList": $this->setParm("Action","GetReportList"); $this->setParm("ReportRequestIdList.Id.1",$this->ReportRequestId); break; case "GetReport": $this->setParm("Action","GetReport"); $this->setParm("ReportId",$this->ReportId); break; } }