Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
Public Member Functions
DeployStaticContent Class Reference

Public Member Functions

 __construct (ObjectManagerInterface $objectManager, LoggerInterface $logger, StorageInterface $versionStorage, DeployStrategyFactory $deployStrategyFactory, QueueFactory $queueFactory)
 
 deploy (array $options)
 

Detailed Description

Main service for static content deployment

Aggregates services to deploy static files, static files bundles, translations and minified templates

Definition at line 20 of file DeployStaticContent.php.

Constructor & Destructor Documentation

◆ __construct()

__construct ( ObjectManagerInterface  $objectManager,
LoggerInterface  $logger,
StorageInterface  $versionStorage,
DeployStrategyFactory  $deployStrategyFactory,
QueueFactory  $queueFactory 
)

DeployStaticContent constructor

Parameters
ObjectManagerInterface$objectManager
LoggerInterface$logger
StorageInterface$versionStorage
DeployStrategyFactory$deployStrategyFactory
QueueFactory$queueFactory

Definition at line 56 of file DeployStaticContent.php.

62  {
63  $this->objectManager = $objectManager;
64  $this->logger = $logger;
65  $this->versionStorage = $versionStorage;
66  $this->deployStrategyFactory = $deployStrategyFactory;
67  $this->queueFactory = $queueFactory;
68  }

Member Function Documentation

◆ deploy()

deploy ( array  $options)

Run deploy procedure

Parameters
array$options
Returns
void

Definition at line 76 of file DeployStaticContent.php.

77  {
78  $version = !empty($options[Options::CONTENT_VERSION]) && is_string($options[Options::CONTENT_VERSION])
79  ? $options[Options::CONTENT_VERSION]
80  : (new \DateTime())->getTimestamp();
81  $this->versionStorage->save($version);
82 
83  if ($this->isRefreshContentVersionOnly($options)) {
84  $this->logger->warning("New content version: " . $version);
85  return;
86  }
87 
88  $queue = $this->queueFactory->create(
89  [
90  'logger' => $this->logger,
91  'options' => $options,
92  'maxProcesses' => $this->getProcessesAmount($options),
93  'deployPackageService' => $this->objectManager->create(
94  \Magento\Deploy\Service\DeployPackage::class,
95  [
96  'logger' => $this->logger
97  ]
98  )
99  ]
100  );
101 
102  $deployStrategy = $this->deployStrategyFactory->create(
103  $options[Options::STRATEGY],
104  [
105  'queue' => $queue
106  ]
107  );
108 
109  $packages = $deployStrategy->deploy($options);
110 
111  if ($options[Options::NO_JAVASCRIPT] !== true) {
112  $deployRjsConfig = $this->objectManager->create(DeployRequireJsConfig::class, [
113  'logger' => $this->logger
114  ]);
115  $deployI18n = $this->objectManager->create(DeployTranslationsDictionary::class, [
116  'logger' => $this->logger
117  ]);
118  $deployBundle = $this->objectManager->create(Bundle::class, [
119  'logger' => $this->logger
120  ]);
121  foreach ($packages as $package) {
122  if (!$package->isVirtual()) {
123  $deployRjsConfig->deploy($package->getArea(), $package->getTheme(), $package->getLocale());
124  $deployI18n->deploy($package->getArea(), $package->getTheme(), $package->getLocale());
125  $deployBundle->deploy($package->getArea(), $package->getTheme(), $package->getLocale());
126  }
127  }
128  }
129 
130  if ($options[Options::NO_HTML_MINIFY] !== true) {
131  $this->objectManager->get(MinifyTemplates::class)->minifyTemplates();
132  }
133  }
$queue
Definition: queue.php:21

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