-
Notifications
You must be signed in to change notification settings - Fork 1
Home
Maxim Chshanovskiy edited this page Jun 19, 2015
·
1 revision
Для того, чтобы инстанциировать клиент, достаточно в конструктор передать ссылку на WSDL:
$client = new \ITMH\Soap\Client('http://www.webservicex.net/StockQuote.asmx?WSDL');
Если требуется указать логин и пароль, это можно сделать, передав в конструктор вторым параметром массив опций:
$client = new \ITMH\Soap\Client(
'http://www.webservicex.net/StockQuote.asmx?WSDL',
[
'login' => 'foo',
'password' => 'bar'
]
);
(Остальные опции можно посмотреть в официальной документации)
По умолчанию результат запроса возвращается как экземпляр \stdClass
. Чтобы получить обычный массив, можно трансформировать результат методом asArray
:
$client = new \ITMH\Soap\Client('http://www.webservicex.net/StockQuote.asmx?WSDL');
$result = $client->GetQuote(['symbol' => 'USD']); // instaceof stdClass
print_r($client->asArray($result));
Также, результат можно трансформировать в экземпляр произвольного класса, используя метод asClass
:
$client = new \ITMH\Soap\Client('http://www.webservicex.net/StockQuote.asmx?WSDL');
$result = $client->GetQuote(['symbol' => 'USD']); // instaceof stdClass
$model = $client->asClass($result, ['nodeName' => 'className']); // instanceof className