Factory.php 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. <?php
  2. /**
  3. * Copyright © Magento, Inc. All rights reserved.
  4. * See COPYING.txt for license details.
  5. */
  6. namespace Magento\Framework\Image;
  7. use Magento\Framework\ObjectManagerInterface;
  8. class Factory
  9. {
  10. /**
  11. * @var ObjectManagerInterface
  12. */
  13. protected $objectManager;
  14. /**
  15. * @var AdapterFactory
  16. */
  17. protected $adapterFactory;
  18. /**
  19. * @param ObjectManagerInterface $objectManager
  20. * @param AdapterFactory $adapterFactory
  21. */
  22. public function __construct(
  23. ObjectManagerInterface $objectManager,
  24. AdapterFactory $adapterFactory
  25. ) {
  26. $this->objectManager = $objectManager;
  27. $this->adapterFactory = $adapterFactory;
  28. }
  29. /**
  30. * Create instance of \Magento\Framework\Image
  31. *
  32. * @param string|null $fileName
  33. * @param string|null $adapterName
  34. * @return \Magento\Framework\Image
  35. */
  36. public function create($fileName = null, $adapterName = null)
  37. {
  38. $adapter = $this->adapterFactory->create($adapterName);
  39. return $this->objectManager->create(
  40. \Magento\Framework\Image::class,
  41. ['adapter' => $adapter, 'fileName' => $fileName]
  42. );
  43. }
  44. }