adeotek / php-wsdl
此包已被废弃且不再维护。未建议替代包。
PHP SOAP WSDL 生成器和服务器
v1.0.0
2018-06-28 11:59 UTC
Requires
- php: >=7.1
- ext-soap: *
This package is not auto-updated.
Last update: 2022-07-23 18:00:07 UTC
README
从 PHP 注释或程序化生成 WSDL,并可选地创建 SOAP WSDL 服务器。
本项目基于 Andreas Zimmermann 的 PHP WSDL 生成器。
描述
此库提供 WSDL XML 生成和运行 PHP SOAP 服务器(带或不带 WSDL 支持)的支持。功能
- 从 PHP 注释中提取 WSDL 定义
- 优化 WSDL XML(删除换行符和制表符)
- 创建带或不带 WSDL 支持的 SOAP 服务器(PHP SoapServer)
- 支持“简单”的复杂类型和一维数组
- 如果未提供,将自动确定 SOAP 端点 URI
- 为一个或多个 PHP 源文件生成 WSDL 定义
- 使用 http Auth 登录以使用 Web 服务
系统要求
- PHP 7.1+
- PHP SOAP 扩展
安装
Composer
将 PHP-WSDL 仓库添加到您的 composer.json
文件
"repositories": [ { "type": "git", "url": "https://github.com/adeotek/php-wsdl.git" } ],
添加库
$ composer require adeotek/php-wsdl
或将其添加到您的 composer.json
文件
"require": { "adeotek/php-wsdl": "~1.0.0" }
手动
要手动安装库,只需将 src
目录的内容复制到您的项目中即可。
如何使用 PhpWsdl
###类描述
- AdeoTEK\PhpWsdl\SoapServer
- SOAP 服务器类(使用 PHP SoapServer 类)
- AdeoTEK\PhpWsdl\Generator
- 负责 WSDL 生成的类
- AdeoTEK\PhpWsdl\BaseObject
- 由所有解析结果对象实现的抽象类
- AdeoTEK\PhpWsdl\Element
- 复杂类型元素(属性)对象
- AdeoTEK\PhpWsdl\Parameter
- 从解析结果得到的参数和返回类型对象
- AdeoTEK\PhpWsdl\ComplexType
- 从解析得到的复杂类型对象(数组或类)
- AdeoTEK\PhpWsdl\Method
- 从解析得到的对象
- AdeoTEK\PhpWsdl\Parser
- 负责解析 PHP 源代码的类
- AdeoTEK\PhpWsdl\Formatter
- 用于 XML 格式的辅助类
- AdeoTEK\PhpWsdl\Debugger
- 用于调试的类
###解析器处理的用于生成 WSDL 定义的键词
- @pw_complex
- 复杂类型(数组/类)
- @pw_element
- 复杂类型属性/元素
- @param
- 方法参数
- @return
- 方法返回类型
可以为复杂类型及其属性提供键值选项。选项使用 @pw_set
关键字定义,并必须放在目标元素之前。
###用法
- 简单用法示例(SoapServer)
$soapServer = new AdeoTEK\PhpWsdl\SoapServer([ 'className'=>'\Some\Class', 'serviceUri'=>'service_uri', 'wsdlConfig'=>[ 'optimize'=>TRUE, 'includeDesc'=>FALSE, 'srcFiles'=>[ 'path/OtherClass.php', 'path/sourceFile.php' ], ], ]); $soapServer->runServer(); $debugMessages = AdeoTEK\PhpWsdl\Debugger::getMessages();
许可协议
PhpWsdl 默认使用 GPL (v3 或更高版本) 许可。请参阅 LICENSE
文件以获取完整的 GPLv3 许可协议文本。
本程序是免费软件;您可以在自由软件基金会发布的 GNU 通用公共许可证的条款下重新分发和/或修改它;可以是许可证的第 3 版,也可以是(根据您的选择)任何更高版本。
本程序的分发是希望它将是有用的,但没有任何保证;甚至没有关于其商销性或适用于特定目的的暗示性保证。有关详细信息,请参阅 GNU 通用公共许可证。
您应该已经随本程序一起收到 GNU 通用公共许可证的副本;如果没有,请参阅 https://gnu.ac.cn/licenses/。