説明なし

BatchSendMessageRequest.php 1.8KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. <?php
  2. namespace AliyunMNS\Requests;
  3. use AliyunMNS\Constants;
  4. use AliyunMNS\Requests\BaseRequest;
  5. use AliyunMNS\Model\SendMessageRequestItem;
  6. class BatchSendMessageRequest extends BaseRequest
  7. {
  8. protected $queueName;
  9. protected $sendMessageRequestItems;
  10. // boolean, whether the message body will be encoded in base64
  11. protected $base64;
  12. public function __construct(array $sendMessageRequestItems, $base64 = TRUE)
  13. {
  14. parent::__construct('post', NULL);
  15. $this->queueName = NULL;
  16. $this->sendMessageRequestItems = $sendMessageRequestItems;
  17. $this->base64 = $base64;
  18. }
  19. public function setBase64($base64)
  20. {
  21. $this->base64 = $base64;
  22. }
  23. public function isBase64()
  24. {
  25. return ($this->base64 == TRUE);
  26. }
  27. public function setQueueName($queueName)
  28. {
  29. $this->queueName = $queueName;
  30. $this->resourcePath = 'queues/' . $queueName . '/messages';
  31. }
  32. public function getQueueName()
  33. {
  34. return $this->queueName;
  35. }
  36. public function getSendMessageRequestItems()
  37. {
  38. return $this->sendMessageRequestItems;
  39. }
  40. public function addSendMessageRequestItem(SendMessageRequestItem $item)
  41. {
  42. $this->sendMessageRequestItems[] = $item;
  43. }
  44. public function generateBody()
  45. {
  46. $xmlWriter = new \XMLWriter;
  47. $xmlWriter->openMemory();
  48. $xmlWriter->startDocument("1.0", "UTF-8");
  49. $xmlWriter->startElementNS(NULL, "Messages", Constants::MNS_XML_NAMESPACE);
  50. foreach ($this->sendMessageRequestItems as $item)
  51. {
  52. $item->writeXML($xmlWriter, $this->base64);
  53. }
  54. $xmlWriter->endElement();
  55. $xmlWriter->endDocument();
  56. return $xmlWriter->outputMemory();
  57. }
  58. public function generateQueryString()
  59. {
  60. return NULL;
  61. }
  62. }
  63. ?>