Ao chamar bin/magento static-content:deploy
isso é chamado:
\Magento\Deploy\Console\Command\DeployStaticContentCommand::execute()
Este método chama
$deployer = $this->objectManager->create(
'Magento\Deploy\Model\Deployer',
['filesUtil' => $filesUtil, 'output' => $output, 'isDryRun' => $options[self::DRY_RUN_OPTION]]
);
$deployer->deploy($this->objectManagerFactory, $languages);
que se traduz em \Magento\Deploy\Model\Deployer::deploy
. No final deste método, você encontrará
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++;
}
Se você quiser, pode se aprofundar \Magento\Framework\App\Utility::getPhtmlFiles
para ver como os modelos são recuperados.
Versão curta:
Chama accumulateModuleTemplateFiles
e accumulateThemeTemplateFiles
da mesma classe. Esses métodos estão usando (no final) glob
e algumas expressões regulares para recuperar todos os arquivos de modelo dos módulos e dos temas e a minificação é feita por \Magento\Framework\View\Template\Html\Minifier
(que implementa \Magento\Framework\View\Template\Html\MinifierInterface
) com base em algumas expressões regulares estranhas. (veja o minify
método).
O que eu ainda não sei é como esses modelos são carregados para uso. provavelmente eles são carregados pelo mecanismo de modelo. Vou postar aqui se / quando eu encontrar isso.
[EDIT]
Encontrei quando os modelos minificados são usados. Quando você definir o valor para Store->Configuration->Developer->Template Settings->Minify HTML
a Yes
e quando em modo de produção.