SelectFactory.php 1.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. <?php
  2. /**
  3. * Copyright © Magento, Inc. All rights reserved.
  4. * See COPYING.txt for license details.
  5. */
  6. namespace Magento\Framework\DB;
  7. use Magento\Framework\DB\Select\SelectRenderer;
  8. use Magento\Framework\DB\Adapter\AdapterInterface;
  9. /**
  10. * Class SelectFactory
  11. *
  12. * @api
  13. * @since 100.1.0
  14. */
  15. class SelectFactory
  16. {
  17. /**
  18. * @var SelectRenderer
  19. * @since 100.1.0
  20. */
  21. protected $selectRenderer;
  22. /**
  23. * @var array
  24. * @since 100.1.0
  25. */
  26. protected $parts;
  27. /**
  28. * @param SelectRenderer $selectRenderer
  29. * @param array $parts
  30. */
  31. public function __construct(
  32. SelectRenderer $selectRenderer,
  33. $parts = []
  34. ) {
  35. $this->selectRenderer = $selectRenderer;
  36. $this->parts = $parts;
  37. }
  38. /**
  39. * @param AdapterInterface $adapter
  40. * @return \Magento\Framework\DB\Select
  41. * @since 100.1.0
  42. */
  43. public function create(AdapterInterface $adapter)
  44. {
  45. return new Select($adapter, $this->selectRenderer, $this->parts);
  46. }
  47. }