File.php 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. <?php
  2. /**
  3. * Copyright © Magento, Inc. All rights reserved.
  4. * See COPYING.txt for license details.
  5. */
  6. namespace Magento\Framework\View\Design\FileResolution\Fallback;
  7. use Magento\Framework\View\Design\ThemeInterface;
  8. /**
  9. * Provider of dynamic view files
  10. */
  11. class File
  12. {
  13. /**
  14. * @var ResolverInterface
  15. */
  16. private $resolver;
  17. /**
  18. * Constructor
  19. *
  20. * @param ResolverInterface $resolver
  21. */
  22. public function __construct(ResolverInterface $resolver)
  23. {
  24. $this->resolver = $resolver;
  25. }
  26. /**
  27. * Get existing file name, using fallback mechanism
  28. *
  29. * @param string $area
  30. * @param ThemeInterface $themeModel
  31. * @param string $file
  32. * @param string|null $module
  33. * @return string|bool
  34. */
  35. public function getFile($area, ThemeInterface $themeModel, $file, $module = null)
  36. {
  37. return $this->resolver->resolve($this->getFallbackType(), $file, $area, $themeModel, null, $module);
  38. }
  39. /**
  40. * @return string
  41. */
  42. protected function getFallbackType()
  43. {
  44. return \Magento\Framework\View\Design\Fallback\RulePool::TYPE_FILE;
  45. }
  46. }