SOAP 引擎设计回移植到 PHP 7.1

赞助包维护!
Open Collective

安装: 313

依赖: 1

建议: 0

安全: 0

星标: 1

关注者: 0

分支: 3

v1.3.0 2022-12-26 12:14 UTC

This package is auto-updated.

Last update: 2024-09-30 01:29:08 UTC


README

此包包含允许您创建与php 7.1兼容的自定义SOAP引擎的合约和模型。设计如下

Engine

  • 驱动器:驱动器是编码器 + 解码器 + 元数据的组合,可以一起工作以处理SOAP请求。
    • 编码器:可以将混合数据编码为有效的SOAP请求。
    • 解码器:可以将SOAP响应解码为混合数据结果。
    • 元数据:处理WSDL并返回一组可用的类型和方法。
  • 传输:发送HTTP SOAP请求并接收HTTP SOAP响应。

上述每个组件都可以单独使用,以创建您自己的自定义SOAP引擎。

想要帮忙吗?💚

安装

composer install php-soap-backports/engine

引擎

此包提供可用于通用方式的引擎

SimpleEngine

SimpleEngine是围绕之前定义的Driver和一个Transport实现的一个包装。

use Soap\Engine\SimpleEngine;

$engine = new SimpleEngine($driver,$transport);

LazyEngine

如果不需要,您不需要加载WSDL文件或SOAP服务。通过在懒加载引擎中包装引擎,您可以防止在实际上请求资源之前发生任何WSDL加载。

use Soap\Engine\SimpleEngine;
use Soap\Engine\LazyEngine;

$engine = new LazyEngine(function () {
    return new SimpleEngine($driver, $transport);
});

兼容组件列表

  • ext-soap-engine:基于PHP的ext-soap的引擎。
    • ExtSoapEncoder:使用PHP的SoapClient将混合请求体编码为SOAP请求。
    • ExtSoapDecoder:使用PHP的SoapClient将SOAP响应解码为混合数据。
    • ExtSoapMetadata:从PHP的SoapClient解析方法和类型,使其更易于使用。
    • ExtSoapDriver:将ext-soap编码器、解码器和元数据工具组合成一个可用的ext-soap预设。
    • ExtSoapClientTransport:使用PHP的SoapClient处理SOAP请求。
    • ExtSoapServerTransport:使用PHP的SoapServer处理SOAP请求。
    • TraceableTransport:可以用于装饰另一个传输并跟踪最后一个请求和响应。