Autoloader.php 895 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. <?php
  2. /**
  3. * Copyright © Magento, Inc. All rights reserved.
  4. * See COPYING.txt for license details.
  5. */
  6. namespace Magento\Framework\Code\Generator;
  7. use Magento\Framework\Code\Generator;
  8. class Autoloader
  9. {
  10. /**
  11. * @var \Magento\Framework\Code\Generator
  12. */
  13. protected $_generator;
  14. /**
  15. * @param \Magento\Framework\Code\Generator $generator
  16. */
  17. public function __construct(
  18. \Magento\Framework\Code\Generator $generator
  19. ) {
  20. $this->_generator = $generator;
  21. }
  22. /**
  23. * Load specified class name and generate it if necessary
  24. *
  25. * @param string $className
  26. * @return bool True if class was loaded
  27. */
  28. public function load($className)
  29. {
  30. if (!class_exists($className)) {
  31. return Generator::GENERATION_ERROR != $this->_generator->generateClass($className);
  32. }
  33. return true;
  34. }
  35. }