PackageInfoFactory.php 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. <?php
  2. /**
  3. * Copyright © Magento, Inc. All rights reserved.
  4. * See COPYING.txt for license details.
  5. */
  6. namespace Magento\Framework\Module;
  7. /**
  8. * Factory to create PackageInfo class
  9. */
  10. class PackageInfoFactory
  11. {
  12. /**
  13. * Object Manager instance
  14. *
  15. * @var \Magento\Framework\ObjectManagerInterface
  16. */
  17. protected $objectManager = null;
  18. /**
  19. * Factory constructor
  20. *
  21. * @param \Magento\Framework\ObjectManagerInterface $objectManager
  22. */
  23. public function __construct(\Magento\Framework\ObjectManagerInterface $objectManager)
  24. {
  25. $this->objectManager = $objectManager;
  26. }
  27. /**
  28. * Create class instance with specified parameters
  29. *
  30. * @return \Magento\Framework\Module\PackageInfo
  31. */
  32. public function create()
  33. {
  34. $fullModuleList = $this->objectManager->create(\Magento\Framework\Module\FullModuleList::class);
  35. $reader = $this->objectManager->create(
  36. \Magento\Framework\Module\Dir\Reader::class,
  37. ['moduleList' => $fullModuleList]
  38. );
  39. return $this->objectManager->create(\Magento\Framework\Module\PackageInfo::class, ['reader' => $reader]);
  40. }
  41. }