2015-05-26 11 views
6

Mam włączone SOAP na moim lokalnym serwerze. Mój kod to:Jak korzystać z SoapClient w Cakephp ...?

ini_set('soap.wsdl_cache_enabled', '0'); 
ini_set('soap.wsdl_cache_ttl', '0'); 
$client = new SoapClient('web_url'); 
$session = $client->login('username', 'pwd'); 
$result = $client->call($session, 'function_name', '<id>'); 
print_r($result); 

tutaj Jest wykonana pomyślnie kiedy uruchomić kod w oddzielnym pliku php. Ale mam ten błąd:

Error: Class 'App\Controller\SoapClient' not found

kiedy próbuję uruchomić kod z akcji CakePHP.

Proszę zasugerować mi, jak możemy użyć SoapClient w CakePHP.

Odpowiedz

9

jesteś w innej przestrzeni nazw, a SoapClient jest w obszarze nazw root więc używać \SoapClient:

$client = new \SoapClient('web_url'); 

Alternatywnie, w pobliżu deklaracji przestrzeni nazw dokonać use oświadczenie:

namespace App\Controller 
use SoapClient; 

Note : to nie jest problem specyficzny dla CakePHP, to ogólny problem z przestrzenią nazw.

+0

Dzięki @Mrcode jego działa dobrze. '$ client = new \ SoapClient ('web_url');' Doskonała odpowiedź. Dzięki –

+0

Nie zapomnij odkomentować następującego wiersza w pliku php.ini: extension = php_soap.dll – Weles