2017-04-10 4 views
0

私はいくつかのコード(石鹸に関連する)を拾い上げており、正しい方向で私を指すことができるかどうか疑問に思っていたかどうかは分かりません。ソープ変数の配列

$requests = new stdClass(); 
$requests->rq = new stdClass(); 
$requests->rq->SessionId = $session; 
$requests->rq->FareSourceCode = $searchs->fare_source_code; 
$requests->rq->TravelerInfo = new stdClass(); 
$requests->rq->TravelerInfo->AirTravelers = new stdClass(); 
$parametersLike4LikeSector1[] = new SoapVar('M', XSD_STRING, null,null,'ns1:Gender'); 
$parametersLike4LikeSector1[] = new SoapVar('JOE', XSD_STRING, null, null,'ns1:PassengerFirstName'); 

$parametersLike4LikeSector1[] = new SoapVar('BLOGGS', XSD_STRING, null, null,'ns1:PassengerLastName'); 

$objectLike4Like[] = new SoapVar($parametersLike4LikeSector1, SOAP_ENC_OBJECT, null, null,'ns1:AirTraveler'); 

$requests->rq->TravelerInfo->AirTravelers = new SoapVar($objectLike4Like, SOAP_ENC_OBJECT); 

答えて

1

「ベストプラクティス」は意見によります。多くのコードが動作しますが、他のコードよりも優れているコードもありますが、最終的にはあなたのために何ができるのかを見つけるだけです。

:あなたも
$params = array('apiParam1' => $someVariable, 'apiParam2' => $someVariable); 

を行い、その後、Webサービスへの次の呼び出しでその配列を渡すことができます...私達は私達と協力し、開発者の多くを持って、彼らはSOAPパラメータあなたがそこにそれを持っているのと同じ方法を使用します
$client = new SoapClient($wsdlUrl, array('trace' => true, 'exceptions' => true); 

$response = $client->__soapCall($apiMethod, array('parameters' => $params)); 

上記の呼び出しでは、一部のWebサービスに「パラメータ」ではなく「パラメータ」があります。

希望により明瞭になります