HasOptionalParameters.php 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114
  1. <?php
  2. /**
  3. * Copyright © Magento, Inc. All rights reserved.
  4. * See COPYING.txt for license details.
  5. */
  6. namespace Magento\Framework\ObjectManager\TestAsset;
  7. class HasOptionalParameters
  8. {
  9. const CONSTRUCTOR_STRING_PARAM_DEFAULT = 'default';
  10. const CONSTRUCTOR_INT_PARAM_DEFAULT = 0;
  11. /**
  12. * @var Basic
  13. */
  14. private $optionalObjectParameter;
  15. /**
  16. * @var string
  17. */
  18. private $optionalStringParameter;
  19. /**
  20. * @var int
  21. */
  22. private $optionalIntegerParameter;
  23. /**
  24. * @var TestAssetInterface
  25. */
  26. private $optionalInterfaceParameter;
  27. /**
  28. * @var TestAssetInterface
  29. */
  30. private $requiredInterfaceParam;
  31. /**
  32. * @var Basic
  33. */
  34. private $requiredObjectParameter;
  35. /**
  36. * @param TestAssetInterface $requiredInterfaceParameter
  37. * @param Basic $requiredObjectParameter
  38. * @param TestAssetInterface $optionalInterfaceParameter
  39. * @param Basic $optionalObjectParameter
  40. * @param string $optionalStringParameter
  41. * @param int $optionalIntegerParameter
  42. */
  43. public function __construct(
  44. TestAssetInterface $requiredInterfaceParameter,
  45. Basic $requiredObjectParameter,
  46. TestAssetInterface $optionalInterfaceParameter = null,
  47. Basic $optionalObjectParameter = null,
  48. $optionalStringParameter = self::CONSTRUCTOR_STRING_PARAM_DEFAULT,
  49. $optionalIntegerParameter = self::CONSTRUCTOR_INT_PARAM_DEFAULT
  50. ) {
  51. $this->optionalObjectParameter = $optionalObjectParameter;
  52. $this->optionalStringParameter = $optionalStringParameter;
  53. $this->optionalIntegerParameter = $optionalIntegerParameter;
  54. $this->optionalInterfaceParameter = $optionalInterfaceParameter;
  55. $this->requiredInterfaceParam = $requiredInterfaceParameter;
  56. $this->requiredObjectParameter = $requiredObjectParameter;
  57. }
  58. /**
  59. * @return Basic
  60. */
  61. public function getOptionalObjectParameter()
  62. {
  63. return $this->optionalObjectParameter;
  64. }
  65. /**
  66. * @return string
  67. */
  68. public function getOptionalStringParameter()
  69. {
  70. return $this->optionalStringParameter;
  71. }
  72. /**
  73. * @return int
  74. */
  75. public function getOptionalIntegerParameter()
  76. {
  77. return $this->optionalIntegerParameter;
  78. }
  79. /**
  80. * @return TestAssetInterface
  81. */
  82. public function getOptionalInterfaceParameter()
  83. {
  84. return $this->optionalInterfaceParameter;
  85. }
  86. /**
  87. * @return TestAssetInterface
  88. */
  89. public function getRequiredInterfaceParam()
  90. {
  91. return $this->requiredInterfaceParam;
  92. }
  93. /**
  94. * @return Basic
  95. */
  96. public function getRequiredObjectParameter()
  97. {
  98. return $this->requiredObjectParameter;
  99. }
  100. }