You are here

class MinificationSubscriber in Advanced CSS/JS Aggregation 8.4

Same name in this branch
  1. 8.4 advagg_ext_minify/src/EventSubscriber/MinificationSubscriber.php \Drupal\advagg_ext_minify\EventSubscriber\MinificationSubscriber
  2. 8.4 advagg_css_minify/src/EventSubscriber/MinificationSubscriber.php \Drupal\advagg_css_minify\EventSubscriber\MinificationSubscriber
  3. 8.4 advagg_js_minify/src/EventSubscriber/MinificationSubscriber.php \Drupal\advagg_js_minify\EventSubscriber\MinificationSubscriber
  4. 8.4 advagg_bundler/src/EventSubscriber/MinificationSubscriber.php \Drupal\advagg_bundler\EventSubscriber\MinificationSubscriber
Same name and namespace in other branches
  1. 8.3 advagg_css_minify/src/EventSubscriber/MinificationSubscriber.php \Drupal\advagg_css_minify\EventSubscriber\MinificationSubscriber

Subscribe to asset optimization events and minify assets.

Hierarchy

  • class \Drupal\advagg_css_minify\EventSubscriber\MinificationSubscriber implements \Symfony\Component\EventDispatcher\EventSubscriberInterface

Expanded class hierarchy of MinificationSubscriber

1 string reference to 'MinificationSubscriber'
advagg_css_minify.services.yml in advagg_css_minify/advagg_css_minify.services.yml
advagg_css_minify/advagg_css_minify.services.yml
1 service uses MinificationSubscriber
advagg.css_subscriber in advagg_css_minify/advagg_css_minify.services.yml
Drupal\advagg_css_minify\EventSubscriber\MinificationSubscriber

File

advagg_css_minify/src/EventSubscriber/MinificationSubscriber.php, line 12

Namespace

Drupal\advagg_css_minify\EventSubscriber
View source
class MinificationSubscriber implements EventSubscriberInterface {

  /**
   * The minifier.
   *
   * @var \Drupal\advagg\Asset\SingleAssetOptimizerBase
   */
  protected $minifier;

  /**
   * Construct the optimizer instance.
   *
   * @param \Drupal\advagg\Asset\SingleAssetOptimizerBase $minifier
   *   The minifier.
   */
  public function __construct(SingleAssetOptimizerBase $minifier) {
    $this->minifier = $minifier;
  }

  /**
   * Pass the minification over to the minification service.
   *
   * @param \Drupal\advagg\Asset\AssetOptimizationEvent $asset
   *   The asset optimization event.
   */
  public function minify(AssetOptimizationEvent $asset) {
    $content = $asset
      ->getContent();
    $content = $this->minifier
      ->optimize($content, $asset
      ->getAsset(), $asset
      ->getData());
    $this->minifier
      ->addLicense($content, $asset
      ->getAsset()['data']);
    $asset
      ->setContent($content);
  }

  /**
   * {@inheritdoc}
   */
  public static function getSubscribedEvents() {
    return [
      AssetOptimizationEvent::CSS => [
        'minify',
        0,
      ],
    ];
  }

}

Members

Namesort descending Modifiers Type Description Overrides
MinificationSubscriber::$minifier protected property The minifier.
MinificationSubscriber::getSubscribedEvents public static function Returns an array of event names this subscriber wants to listen to.
MinificationSubscriber::minify public function Pass the minification over to the minification service.
MinificationSubscriber::__construct public function Construct the optimizer instance.