使用GUID类型:PHP

时间:2012-06-29 18:57:43

标签: php soap parameters guid

我正在使用SOAP应用程序,该应用程序要求使用GUID类型的一些参数。 我不确定这一切意味着什么。

我发现这是用PHP制作GUID的:

function getGUID(){
    if (function_exists('com_create_guid')){
        return com_create_guid();
    } else {
        mt_srand((double)microtime()*10000);//optional for php 4.2.0 and up.
        $charid = strtoupper(md5(uniqid(rand(), true)));
        $hyphen = chr(45);// "-"
        $uuid = chr(123)// "{"
            .substr($charid, 0, 8).$hyphen
            .substr($charid, 8, 4).$hyphen
            .substr($charid,12, 4).$hyphen
            .substr($charid,16, 4).$hyphen
            .substr($charid,20,12)
            .chr(125);// "}"
        return $uuid;
    }
}

但是当我试图传递一个参数时,我不知道它是如何工作的。 以下是我需要如何使用它的示例:

$option=array('trace'=>1);
$url = "http://example.com/admin.asmx?WSDL";
$client = new SoapClient($url, $option);
$params = array(
    'consumerid'   => '1234',
    'userName'     => '1234',
    'password'     => '1234',
    'adminDomain'  => 'admin.example.com',
    'SubscriberID' => '1234',
    'orderID'      => '22147'); /* <- This value needs to be of the type GUID */

$result = $client->getOrderDetail($params);

我可以创建新的GUID,但我不知道如何将值与它相关联。有人可以提供解释吗?

1 个答案:

答案 0 :(得分:0)

你的意思是:

$option=array('trace'=>1);
$url = "http://example.com/admin.asmx?WSDL";
$client = new SoapClient($url, $option);

# get guid and store in variable
$guid = getGUID();

$params = array(
    'consumerid'   => '1234',
    'userName'     => '1234',
    'password'     => '1234',
    'adminDomain'  => 'admin.example.com',
    'SubscriberID' => '1234',
    'orderID'      => $guid); # now use that guid here

$result = $client->getOrderDetail($params);