全部,
我正在努力https://github.com/artisaninweb/laravel-soap工作,但没有爱情。这可能不是包的问题,而是我对PHP的理解存在差距(我已经好几年没有使用PHP了)。
医生说:
SoapWrapper::add(function ($service) {
$service->name('currency')->wsdl('http://currencyconverter.kowabunga.net/converter.asmx?WSDL');
});
$data = [
'CurrencyFrom' => 'USD',
'CurrencyTo' => 'EUR',
'RateDate' => '2014-06-05',
'Amount' => '1000'
];
SoapWrapper::service('currency',function($service) use ($data) {
var_dump($service->getFunctions());
var_dump($service->call('GetConversionAmount',$data)->GetConversionAmountResult);
});
现在一切都很好。。。但是我究竟是如何从$service->call得到响应的。。。退出我的应用程序?
我试过
$response = SoapWrapper::service('currency',function($service) use ($data) {
$service->call('GetConversionAmount',$data)->GetConversionAmountResult;
});
但这只是返回soap客户端响应。
我试过:
$response = '';
SoapWrapper::service('currency',function($service) use ($data) {
$response = $service->call('GetConversionAmount',$data)->GetConversionAmountResult;
});
但这并没有什么作用,因为包装器调用中的任何东西似乎都只存在于该块中。
它们实际上是我唯一能想到做的两件事,因为我对Laravel中出现的所有这些单例呼叫都不太熟悉(我也认为应该像瘟疫一样避免它们)。
如有任何帮助,我们将不胜感激。
$response = '';
$data = [
'CurrencyFrom' => 'USD',
'CurrencyTo' => 'EUR',
'RateDate' => '2014-06-05',
'Amount' => '1000'
];
SoapWrapper::service('currency',function($service) use ($data,&$response) {
$response = $service->call('GetConversionAmount',$data)->GetConversionAmountResult;
});
var_dump($response);
这称为通过引用传递:http://php.net/manual/en/language.references.pass.php我发现laravel soap包有一些问题,请在Github上创建一个问题。