PHP SoapServer类映射对象创建

时间:2013-07-27 06:41:22

标签: php soapserver

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

有没有办法影响SoapServer生成的对象的创建?例如__set_state魔术方法。

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

1 个答案:

答案 0 :(得分:0)

据我所知,正确的方法是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 ) {}
}