建立单独文件没有啥问题,代码如下:
ini_set("soap.wsdl_cache_enabled", "0");
$server = new SoapServer("SomeService.wsdl");
$server->setClass(Webservice::class);
$server->handle();
class Webservice{
public function TimesTwo($valueObj)
{
$valueArr = get_object_vars($valueObj);
$value = $valueArr["value"];
$result = $value * 2;
return array("TimesTwoResult" => $result);
}
public function Wxfun($valueObj)
{
$valueArr = get_object_vars($valueObj);
$result = $valueArr["myname"]."----".$valueArr["myage"];
return array("WxfunResult" => $result);
}
}
但是想融入tp5,代码如下:虽然客户端也能找到wsdl但是调不用了相应的函数,方法一代码如下:namespace app\index\controller;
use think\Controller;
use think\Url;
use think\Cache;
use think\Session;
use think\Request;
class Webservice{
public function wsdl(){
ini_set("soap.wsdl_cache_enabled", "0");
$server = new SoapServer("SomeService.wsdl");
$server->setClass(Myservice::class);
$server->handle();
}
}
class Myservice{
public function TimesTwo($valueObj)
{
$valueArr = get_object_vars($valueObj);
$value = $valueArr["value"];
$result = $value * 2;
return array("TimesTwoResult" => $result);
}
public function Wxfun($valueObj)
{
$valueArr = get_object_vars($valueObj);
$result = $valueArr["myname"]."----".$valueArr["myage"];
return array("WxfunResult" => $result);
}
}
方法二:<?php
ini_set("soap.wsdl_cache_enabled", "0");
$server = new SoapServer("SomeService.wsdl");
$server->setClass(app\index\controller\Webservice::class);
$server->handle();
?>
<?php
namespace app\index\controller;
use think\Controller;
use think\Url;
use think\Cache;
use think\Session;
use think\Request;
class Webservice{
public function _initialize(){
parent::_initialize();
}
public function TimesTwo($valueObj)
{
$valueArr = get_object_vars($valueObj);
$value = $valueArr["value"];
$result = $value * 2;
return array("TimesTwoResult" => $result);
}
public function Wxfun($valueObj)
{
$valueArr = get_object_vars($valueObj);
$result = $valueArr["myname"]."----".$valueArr["myage"];
return array("WxfunResult" => $result);
}
}
?>
方法二会提示找不到函数,求各位了解的人帮忙给出出注意最佳答案
