CustomHandler.php 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. <?php
  2. /**
  3. * Copyright © Magento, Inc. All rights reserved.
  4. * See COPYING.txt for license details.
  5. */
  6. namespace Magento\TestModuleAsyncAmqp\Model;
  7. class CustomHandler
  8. {
  9. /**
  10. * @param AsyncTestData $simpleDataItem
  11. */
  12. public function process($simpleDataItem)
  13. {
  14. file_put_contents(
  15. $simpleDataItem->getTextFilePath(),
  16. 'custom-string-' . $simpleDataItem->getValue() . PHP_EOL,
  17. FILE_APPEND
  18. );
  19. }
  20. /**
  21. * @param AsyncTestData[] $simpleDataItems
  22. */
  23. public function processArray($simpleDataItems)
  24. {
  25. foreach ($simpleDataItems as $objItem) {
  26. file_put_contents(
  27. $objItem->getTextFilePath(),
  28. 'custom-array-' . $objItem->getValue() . PHP_EOL,
  29. FILE_APPEND
  30. );
  31. }
  32. }
  33. /**
  34. * @param mixed $simpleDataItems
  35. */
  36. public function processMixed($simpleDataItems)
  37. {
  38. /** @var AsyncTestData[] $simpleDataItems */
  39. $simpleDataItems = is_array($simpleDataItems) ? $simpleDataItems : [$simpleDataItems];
  40. foreach ($simpleDataItems as $simpleDataItem) {
  41. if (!($simpleDataItem instanceof AsyncTestData)) {
  42. file_put_contents(
  43. $simpleDataItem->getTextFilePath(),
  44. 'Invalid data item given. Was expected instance of ' . AsyncTestData::class . PHP_EOL,
  45. FILE_APPEND
  46. );
  47. continue;
  48. }
  49. file_put_contents(
  50. $simpleDataItem->getTextFilePath(),
  51. 'custom-mixed-' . $simpleDataItem->getValue() . PHP_EOL,
  52. FILE_APPEND
  53. );
  54. }
  55. }
  56. }