При вызове bin/magento static-content:deploy
это вызывается :
\Magento\Deploy\Console\Command\DeployStaticContentCommand::execute()
Этот метод вызывает
$deployer = $this->objectManager->create(
'Magento\Deploy\Model\Deployer',
['filesUtil' => $filesUtil, 'output' => $output, 'isDryRun' => $options[self::DRY_RUN_OPTION]]
);
$deployer->deploy($this->objectManagerFactory, $languages);
что переводится как \Magento\Deploy\Model\Deployer::deploy
. В нижней части этого метода вы найдете
foreach ($this->filesUtil->getPhtmlFiles(false, false) as $template) {
$this->htmlMinifier->minify($template);
if ($this->output->getVerbosity() >= OutputInterface::VERBOSITY_VERBOSE) {
$this->output->writeln($template . " minified\n");
} else {
$this->output->write('.');
}
$this->count++;
}
Если вы хотите, вы можете копнуть глубже, \Magento\Framework\App\Utility::getPhtmlFiles
чтобы увидеть, как извлекаются шаблоны.
Короткая версия:
звонит accumulateModuleTemplateFiles
и accumulateThemeTemplateFiles
из того же класса. Эти методы используют (в конце концов) glob
и некоторые регулярные выражения для извлечения всех файлов шаблонов из модулей и из тем, а минимизация выполняется \Magento\Framework\View\Template\Html\Minifier
(реализует \Magento\Framework\View\Template\Html\MinifierInterface
) на основе некоторых странных регулярных выражений. (см. minify
метод).
То, что я пока не знаю, это как эти шаблоны загружаются для использования. скорее всего, они загружаются с помощью шаблонизатора. Я вернусь сюда, если / когда найду это.
[РЕДАКТИРОВАТЬ]
Я нашел, когда используются миниатюрные шаблоны. Когда вы установите значение Store->Configuration->Developer->Template Settings->Minify HTML
в Yes
и когда в производственном режиме.