如何从Laravel/Lumen的Twinfield的给定对象响应中获取值



这是我从Twinfield API调用登录方法时的响应。它给定会话ID 群集名称空间,但问题是如何从中获取值。

$customerApiConnector = new PhpTwinfieldApiConnectorsCustomerApiConnector($login);
print_r($customerApiConnector);die;

输出:

  PhpTwinfieldApiConnectorsCustomerApiConnector Object
    (
        [service:protected] => PhpTwinfieldServicesProcessXmlService Object
            (
                [trace] => 1
                [compression] => 32
                [_stream_context] => Resource id #153
                [_soap_version] => 1
                [sdl] => Resource id #154
                [__default_headers] => Array
                    (
                        [0] => SoapHeader Object
                            (
                                [namespace] => http://www.twinfield.com/
                                [name] => Header
                                [data] => Array
                                    (
                                        [SessionID] => f7b4c213-1a01-4c7c-87cb-7de80b1583fe
                                    )
                                [mustUnderstand] => 
                            )
                    )
            )
    )

这是另一个对象。

Array
(
    [1] => PhpTwinfieldCustomerAddress Object
        (
            [ID:PhpTwinfieldCustomerAddress:private] => 1
            [type:PhpTwinfieldCustomerAddress:private] => invoice
            [default:PhpTwinfieldCustomerAddress:private] => true
            [name:PhpTwinfieldCustomerAddress:private] => Anand
            [contact:PhpTwinfieldCustomerAddress:private] => 
            [country:PhpTwinfieldCustomerAddress:private] => IN
            [city:PhpTwinfieldCustomerAddress:private] => Indore
            [postcode:PhpTwinfieldCustomerAddress:private] => 452001
            [telephone:PhpTwinfieldCustomerAddress:private] => 
            [fax:PhpTwinfieldCustomerAddress:private] => 
            [email:PhpTwinfieldCustomerAddress:private] => anand@comfisoft.com
            [field1:PhpTwinfieldCustomerAddress:private] => 
            [field2:PhpTwinfieldCustomerAddress:private] => lig
            [field4:PhpTwinfieldCustomerAddress:private] => 
            [field5:PhpTwinfieldCustomerAddress:private] => 
            [field6:PhpTwinfieldCustomerAddress:private] => 
        )
)

尝试一下它将工作;)

function accessProtectedProperty($obj, $prop)
{
    $reflection = new ReflectionClass($obj);
    $property = $reflection->getProperty($prop);
    $property->setAccessible(true);
    return json_decode($property->getValue($obj));
}

最新更新