Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
Public Member Functions
Less Class Reference
Inheritance diagram for Less:
ProcessorInterface

Public Member Functions

 __construct (FileNameResolver $fileNameResolver, NotationResolver\Module $notationResolver, DeployStaticFile $deployStaticFile, Minification $minification)
 
 process (Package $package, array $options)
 

Detailed Description

Pre-processor for speeding up deployment of Less files

LESS-to-CSS compilation should happen only when it is really needed. If in some package there is no LESS files overridden which used for generating some CSS file, then such CSS file can be copied from ancestor package as is

Definition at line 25 of file Less.php.

Constructor & Destructor Documentation

◆ __construct()

__construct ( FileNameResolver  $fileNameResolver,
NotationResolver\Module  $notationResolver,
DeployStaticFile  $deployStaticFile,
Minification  $minification 
)

Less constructor

Parameters
FileNameResolver$fileNameResolver
NotationResolver\Module$notationResolver
DeployStaticFile$deployStaticFile
Minification$minification

Definition at line 69 of file Less.php.

74  {
75  $this->fileNameResolver = $fileNameResolver;
76  $this->notationResolver = $notationResolver;
77  $this->deployStaticFile = $deployStaticFile;
78  $this->minification = $minification;
79  }

Member Function Documentation

◆ process()

process ( Package  $package,
array  $options 
)

Process packagePackage processors may produce additional (derivative) files or do additional content modifications

Parameters
Package$package
array$options
Returns
bool true on success

Implements ProcessorInterface.

Definition at line 84 of file Less.php.

85  {
86  $this->options = $options;
87  if ($this->options[DeployStaticOptions::NO_CSS] === true) {
88  return false;
89  }
90  if ($package->getArea() !== Package::BASE_AREA && $package->getTheme() !== Package::BASE_THEME) {
91  $files = $package->getParentFiles('less');
92  foreach ($files as $file) {
93  $packageFile = $package->getFile($file->getFileId());
94  if ($packageFile && $packageFile->getOrigPackage() === $package) {
95  continue;
96  }
97  $deployFileName = $this->fileNameResolver->resolve($file->getFileName());
98  if ($deployFileName !== $file->getFileName()) {
99  if ($this->hasOverrides($file, $package)) {
100  $file = clone $file;
101  $file->setArea($package->getArea());
102  $file->setTheme($package->getTheme());
103  $file->setLocale($package->getLocale());
104 
105  $file->setPackage($package);
106  $package->addFileToMap($file);
107  }
108  }
109  }
110  }
111  return true;
112  }
foreach($appDirs as $dir) $files

The documentation for this class was generated from the following file: