本文整理汇总了PHP中DTS\eBaySDK\Types\BaseType类的典型用法代码示例。如果您正苦于以下问题:PHP BaseType类的具体用法?PHP BaseType怎么用?PHP BaseType使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了BaseType类的10个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: callOperation
/**
* Sends an API request.
*
* This method overrides the parent so that it can modify
* the request object before is handled by the parent class.
*
* @param string $name The name of the operation.
* @param \DTS\eBaySDK\Types\BaseType $request Request object containing the request information.
* @param string The name of the PHP class that will be created from the XML response.
*
* @return mixed A response object created from the XML respose.
*/
protected function callOperation($name, \DTS\eBaySDK\Types\BaseType $request, $responseClass)
{
/**
Modify the request object to add xop:Include element.
*/
if ($name === 'uploadFile' && $request->hasAttachment()) {
/**
Don't modify a request if the file attachment already exists.
*/
if (!isset($request->fileAttachment)) {
$request->fileAttachment = new \DTS\eBaySDK\FileTransfer\Types\FileAttachment();
}
if (!isset($request->fileAttachment->Data)) {
$request->fileAttachment->Data = new \DTS\eBaySDK\FileTransfer\Types\Data(['xopInclude' => new \DTS\eBaySDK\FileTransfer\Types\XopInclude(['href' => 'cid:attachment.bin@devbay.net'])]);
}
if (!isset($request->fileAttachment->Size)) {
$attachment = $request->attachment();
$request->fileAttachment->Size = strlen($attachment['data']);
}
}
return parent::callOperation($name, $request, $responseClass);
}
示例2: callOperation
/**
* Sends an API request.
*
* This method overrides the parent so that it can modify
* the request object before is handled by the parent class.
*
* @param string $name The name of the operation.
* @param \DTS\eBaySDK\Types\BaseType $request Request object containing the request information.
* @param string The name of the PHP class that will be created from the XML response.
*
* @return mixed A response object created from the XML respose.
*/
protected function callOperation($name, \DTS\eBaySDK\Types\BaseType $request, $responseClass)
{
/**
Modify the request object to add xop:Include element.
*/
if ($name === 'uploadFile' && $request->hasAttachment()) {
/**
Don't modify a request if the file attachment already exists.
*/
if (!isset($request->fileAttachment)) {
$request->fileAttachment = new \DTS\eBaySDK\FileTransfer\Types\FileAttachment();
}
if (!isset($request->fileAttachment->Data)) {
$request->fileAttachment->Data = '<xop:Include xmlns:xop="http://www.w3.org/2004/08/xop/include" href="cid:attachment.bin@devbay.net"/>';
}
if (!isset($request->fileAttachment->Size)) {
$attachment = $request->attachment();
$request->fileAttachment->Size = strlen($attachment['data']);
}
}
return parent::callOperation($name, $request, $responseClass);
}
示例3: buildXopDocument
/**
* Builds the XOP document part of the request body string.
*
* @param \DTS\eBaySDK\Types\BaseType $request Request object containing the request information.
*
* @return string The XOP document part of request body.
*/
private function buildXopDocument(\DTS\eBaySDK\Types\BaseType $request)
{
return sprintf('%s%s%s%s%s', '--MIME_boundary' . self::CRLF, 'Content-Type: application/xop+xml;charset=UTF-8;type="text/xml"' . self::CRLF, 'Content-Transfer-Encoding: 8bit' . self::CRLF, 'Content-ID: <request.xml@devbay.net>' . self::CRLF . self::CRLF, $request->toRequestXml() . self::CRLF);
}
示例4: buildRequestHeaders
/**
* Helper function that builds the HTTP request headers.
*
* @param string $name The name of the operation.
* @param \DTS\eBaySDK\Types\BaseType $request Request object containing the request information.
* @param string $body The request body.
*
* @return array An associative array of HTTP headers.
*/
private function buildRequestHeaders($name, $request, $body)
{
$headers = $this->getEbayHeaders($name);
if ($request->hasAttachment()) {
$headers['Content-Type'] = 'multipart/related;boundary=MIME_boundary;type="application/xop+xml";start="<request.xml@devbay.net>";start-info="text/xml"';
} else {
$headers['Content-Type'] = 'text/xml';
}
$headers['Content-Length'] = strlen($body);
return $headers;
}
示例5: callOperation
/**
* Sends an API request.
*
* @param string $name The name of the operation.
* @param \DTS\eBaySDK\Types\BaseType $request Request object containing the request information.
* @param string The name of the PHP class that will be created from the XML response.
*
* @return mixed A response object created from the XML respose.
*/
protected function callOperation($name, \DTS\eBaySDK\Types\BaseType $request, $responseClass)
{
$debug = $this->config('debug');
$url = $this->getUrl();
$body = $request->toRequestXml();
$headers = $this->getEbayHeaders($name);
$headers['Content-Type'] = 'text/xml';
$headers['Content-Length'] = strlen($body);
if ($debug) {
$this->logRequest($url, $name, $headers, $body);
}
$response = $this->httpClient->post($url, $headers, $body);
if ($debug) {
$this->logResponse($response);
}
$xmlParser = new XmlParser($responseClass);
return $xmlParser->parse($response);
}
示例6: __construct
/**
* @param array $values Optional properties and values to assign to the object.
*/
public function __construct(array $values = [])
{
list($parentValues, $childValues) = self::getParentValues(self::$propertyTypes, $values);
parent::__construct($parentValues);
if (!array_key_exists(__CLASS__, self::$properties)) {
self::$properties[__CLASS__] = array_merge(self::$properties[get_parent_class()], self::$propertyTypes);
}
$this->setValues(__CLASS__, $childValues);
}
示例7: __construct
/**
* @param array $values Optional properties and values to assign to the object.
*/
public function __construct(array $values = array())
{
list($parentValues, $childValues) = self::getParentValues(self::$propertyTypes, $values);
parent::__construct($parentValues);
if (!array_key_exists(__CLASS__, self::$properties)) {
self::$properties[__CLASS__] = array_merge(self::$properties[get_parent_class()], self::$propertyTypes);
}
if (!array_key_exists(__CLASS__, self::$xmlNamespaces)) {
self::$xmlNamespaces[__CLASS__] = 'urn:ebay:apis:eBLBaseComponents';
}
$this->setValues(__CLASS__, $childValues);
}
示例8: __construct
/**
* @param array $values Optional properties and values to assign to the object.
*/
public function __construct(array $values = [])
{
list($parentValues, $childValues) = self::getParentValues(self::$propertyTypes, $values);
parent::__construct($parentValues);
if (!array_key_exists(__CLASS__, self::$properties)) {
self::$properties[__CLASS__] = array_merge(self::$properties[get_parent_class()], self::$propertyTypes);
}
if (!array_key_exists(__CLASS__, self::$xmlNamespaces)) {
self::$xmlNamespaces[__CLASS__] = 'xmlns="http://www.ebay.com/marketplace/returns/v1/services"';
}
$this->setValues(__CLASS__, $childValues);
}
示例9: __construct
public function __construct(array $values = array())
{
list($parentValues, $childValues) = self::getParentValues(self::$propertyTypes, $values);
parent::__construct($parentValues);
if (!array_key_exists(__CLASS__, self::$properties)) {
self::$properties[__CLASS__] = array_merge(self::$properties[get_parent_class()], self::$propertyTypes);
}
if (!array_key_exists(__CLASS__, self::$xmlNamespaces)) {
self::$xmlNamespaces[__CLASS__] = 'http://davidtsadler.com';
}
$this->setValues(__CLASS__, $childValues);
}
示例10: __construct
/**
* @param array $values Optional properties and values to assign to the object.
*/
public function __construct(array $values = [])
{
list($parentValues, $childValues) = self::getParentValues(self::$propertyTypes, $values);
parent::__construct($parentValues);
if (!array_key_exists(__CLASS__, self::$properties)) {
self::$properties[__CLASS__] = array_merge(self::$properties[get_parent_class()], self::$propertyTypes);
}
if (!array_key_exists(__CLASS__, self::$xmlNamespaces)) {
self::$xmlNamespaces[__CLASS__] = 'xmlns="urn:ebay:apis:eBLBaseComponents"';
}
if (!array_key_exists(__CLASS__, self::$requestXmlRootElementNames)) {
self::$requestXmlRootElementNames[__CLASS__] = 'SetShipmentTrackingInfoRequest';
}
$this->setValues(__CLASS__, $childValues);
}