我在本地服务器上启用了SOAP。 我的代码是:
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);
当我在单独的php文件上运行代码时,它已成功执行。但我得到了这个错误:
错误:Class&#39; App \ Controller \ SoapClient&#39;找不到
当我尝试运行CakePHP动作的代码时。
请建议我如何在CakePHP中使用SoapClient。
答案 0 :(得分:9)
您位于不同的命名空间中,SoapClient
位于根命名空间中,因此请使用\SoapClient
:
$client = new \SoapClient('web_url');
或者,在命名空间声明附近创建一个use
语句:
namespace App\Controller
use SoapClient;
注意:这不是CakePHP特有的问题,它是一般命名空间问题。