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

Public Member Functions

 __construct (SourcePool $sourcePool, FileNameResolver $fileNameResolver, PackageFactory $packageFactory)
 
 collect ()
 

Detailed Description

Deployable files collector

Default implementation uses Source Pool object (

See also
SourcePool)

Definition at line 18 of file Collector.php.

Constructor & Destructor Documentation

◆ __construct()

__construct ( SourcePool  $sourcePool,
FileNameResolver  $fileNameResolver,
PackageFactory  $packageFactory 
)

Collector constructor

Parameters
SourcePool$sourcePool
FileNameResolver$fileNameResolver
PackageFactory$packageFactory

Definition at line 65 of file Collector.php.

69  {
70  $this->sourcePool = $sourcePool;
71  $this->fileNameResolver = $fileNameResolver;
72  $this->packageFactory = $packageFactory;
73  }

Member Function Documentation

◆ collect()

collect ( )

Retrieve all static files from registered locations split to packages. Unique package is identified for each combination of three key scope identifiers:

  • area
  • theme
  • locale
Returns
Package[]

Implements CollectorInterface.

Definition at line 78 of file Collector.php.

79  {
80  $packages = [];
81  foreach ($this->sourcePool->getAll() as $source) {
82  $files = $source->get();
83  foreach ($files as $file) {
84  $file->setDeployedFileName($this->fileNameResolver->resolve($file->getFileName()));
85  $params = [
86  'area' => $file->getArea(),
87  'theme' => $file->getTheme(),
88  'locale' => $file->getLocale(),
89  'module' => $file->getModule(),
90  'isVirtual' => (!$file->getLocale() || !$file->getTheme() || !$file->getArea())
91  ];
92  foreach ($this->packageDefaultValues as $name => $value) {
93  if (!isset($params[$name])) {
94  $params[$name] = $value;
95  }
96  }
97  $packagePath = "{$params['area']}/{$params['theme']}/{$params['locale']}";
98  if (!isset($packages[$packagePath])) {
99  $packages[$packagePath] = $this->packageFactory->create($params);
100  }
101  if ($file->getFilePath()) {
102  $file->setPackage($packages[$packagePath]);
103  }
104  }
105  }
106  return $packages;
107  }
$source
Definition: source.php:23
$value
Definition: gender.phtml:16
$params[\Magento\Store\Model\StoreManager::PARAM_RUN_CODE]
Definition: website.php:18
foreach($appDirs as $dir) $files
if(!isset($_GET['name'])) $name
Definition: log.php:14

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