【问题标题】:PHP SoapServer classmap object creationPHP SoapServer 类映射对象创建
【发布时间】:2013-07-27 06:41:22
【问题描述】:

我正在使用 PHP 的 SoapServer 类构建一个 Web 服务。使用 classmap 功能可以正常工作,并且 WSDL 类型正确映射到 PHP 类型。但是,我无法弄清楚映射类的实例是如何创建的。

有什么方法可以影响 SoapServer 生成的对象的创建?例如像 __set_state 魔术方法。

示例:我分别使用 xsd 类型的日期和日期时间。我想确保将这些转换为 PHP 的 DateTime 类。我不想做的是有一个下游流程来做到这一点。

【问题讨论】:

    标签: php soapserver


    【解决方案1】:

    据我所知,正确的做法是使用 SoapServer 的 typemap 选项。例如,

    $options = array (
        'typemap' => array (
            array(
                'type_name' => 'XMLNodeForMyClass',
                'type_ns' => 'urn:localurn',
                'from_xml' => 'MyClass::fromSOAP',
                'to_xml' => 'MyClass::toSOAP'
            )
        )
    );
    

    class MyClass {
        static public function fromSOAP( string $xml ) {}
        static public function toSOAP( MyClass $Outgoing ) {}
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-05-18
      • 2021-11-29
      • 2020-02-19
      • 1970-01-01
      • 1970-01-01
      • 2013-06-16
      • 1970-01-01
      相关资源
      最近更新 更多