MinificationFilenameResolver.php 1007 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. <?php
  2. /**
  3. * Copyright © Magento, Inc. All rights reserved.
  4. * See COPYING.txt for license details.
  5. */
  6. namespace Magento\Framework\View\Asset\PreProcessor;
  7. use Magento\Framework\View\Asset\Minification;
  8. /**
  9. * Class MinificationFilenameResolver
  10. */
  11. class MinificationFilenameResolver implements FilenameResolverInterface
  12. {
  13. /**
  14. * Indicator of minification file
  15. */
  16. const FILE_PART = '.min.';
  17. /**
  18. * @var Minification
  19. */
  20. private $minification;
  21. /**
  22. * Constructor
  23. *
  24. * @param Minification $minification
  25. */
  26. public function __construct(Minification $minification)
  27. {
  28. $this->minification = $minification;
  29. }
  30. /**
  31. * Resolve file name
  32. *
  33. * @param string $path
  34. * @return string
  35. */
  36. public function resolve($path)
  37. {
  38. if (!$this->minification->isEnabled(pathinfo($path, PATHINFO_EXTENSION))) {
  39. return $path;
  40. }
  41. return str_replace(self::FILE_PART, '.', $path);
  42. }
  43. }