CleanMergedJsCss.php 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. <?php
  2. /**
  3. * Copyright © Magento, Inc. All rights reserved.
  4. * See COPYING.txt for license details.
  5. */
  6. namespace Magento\MediaStorage\Model\Asset\Plugin;
  7. use Magento\Framework\App\Filesystem\DirectoryList;
  8. class CleanMergedJsCss
  9. {
  10. /**
  11. * @var \Magento\MediaStorage\Helper\File\Storage\Database
  12. */
  13. protected $database;
  14. /**
  15. * @var \Magento\Framework\Filesystem
  16. */
  17. protected $filesystem;
  18. /**
  19. * @param \Magento\MediaStorage\Helper\File\Storage\Database $database
  20. * @param \Magento\Framework\Filesystem $filesystem
  21. */
  22. public function __construct(
  23. \Magento\MediaStorage\Helper\File\Storage\Database $database,
  24. \Magento\Framework\Filesystem $filesystem
  25. ) {
  26. $this->database = $database;
  27. $this->filesystem = $filesystem;
  28. }
  29. /**
  30. * Clean files in database on cleaning merged assets
  31. *
  32. * @param \Magento\Framework\View\Asset\MergeService $subject
  33. * @param void $result
  34. *
  35. * @return void
  36. * @SuppressWarnings(PHPMD.UnusedFormalParameter)
  37. */
  38. public function afterCleanMergedJsCss(\Magento\Framework\View\Asset\MergeService $subject, $result)
  39. {
  40. /** @var \Magento\Framework\Filesystem\Directory\ReadInterface $pubStaticDirectory */
  41. $pubStaticDirectory = $this->filesystem->getDirectoryRead(DirectoryList::STATIC_VIEW);
  42. $mergedDir = $pubStaticDirectory->getAbsolutePath() . '/'
  43. . \Magento\Framework\View\Asset\Merged::getRelativeDir();
  44. $this->database->deleteFolder($mergedDir);
  45. }
  46. }