При виклику 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
метод).
Що я ще не знаю, це те, як завантажуються ці шаблони для використання. найімовірніше, вони завантажуються двигуном шаблону. Я відправлю сюди, якщо / коли знайду це.
[EDIT]
Я знайшов, коли використовуються мінімізовані шаблони. Коли ви встановите значення Store->Configuration->Developer->Template Settings->Minify HTML
в Yes
і коли в виробничому режимі.