TP5.1开启webservice
第一步:开启soap扩展
php.ini 文件里面 找到 extension=soap 把前面的分号注释
第二步:编写文件
注:所有文件都放到public目录下
1.server.php
<?php
if(file_exists('ThirdOrder.wsdl')){
include("ThirdOrder.php");
$objSoapServer = new SoapServer("ThirdOrder.wsdl");//ThirdOrder.wsdl是刚创建的wsdl文件
//$objSoapServer = new SoapServer("server.php?wsdl");//这样也行
$objSoapServer->setClass("ThirdOrder");//注册ThirdOrder类的所有方法
$objSoapServer->handle();//处理请求
}else{
include("ThirdOrder.php");
include("SoapDiscovery.class.php");
$disc = new SoapDiscovery('ThirdOrder', 'ThirdOrder');//api类文件名,service接口目录
$res = $disc->getWSDL();
}
2.SoapDiscovery.class.php
链接: https://pan.baidu.com/s/1e8ttN2Bs8DKLCX-hIPRRaQ 提取码: i58j
3.自己的接口类
注:因为写在public下面的文件没有命名空间,所以只能按照TP的入口文件模式来书写,头部载入后,在下面引用app下面的实际业务逻辑类,所有的Db等操作都在里面完成。
runWeb()这个方法是自己根据TP的底层run()方法仿写的,将在后面贴出。
// 加载基础文件
require __DIR__ . '/../thinkphp/base.php';
// 支持事先使用静态方法设置Request对象和Config对象
// 执行应用并响应
\think\Container::get('app')->runWeb();
use app\api\controller\Order;
class ThirdOrder
{
protected $order