Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
Public Member Functions | Protected Member Functions | Protected Attributes
PackageInfo Class Reference

Public Member Functions

 __construct (Dir\Reader $reader, ComponentRegistrar $componentRegistrar, \Magento\Framework\Serialize\Serializer\Json $serializer=null)
 
 getModuleName ($packageName)
 
 getNonExistingDependencies ()
 
 getPackageName ($moduleName)
 
 getRequire ($moduleName)
 
 getRequiredBy ($requiredModuleName)
 
 getConflict ($moduleName)
 
 getVersion ($moduleName)
 

Protected Member Functions

 addNonExistingDependency ($dependency)
 
 convertPackageNameToModuleName ($packageName)
 
 isMagentoPackage ($packageName)
 

Protected Attributes

 $nonExistingDependencies = []
 

Detailed Description

Provide information of dependencies and conflicts in composer.json files, mapping of package name to module name, and mapping of module name to package version

Definition at line 14 of file PackageInfo.php.

Constructor & Destructor Documentation

◆ __construct()

__construct ( Dir\Reader  $reader,
ComponentRegistrar  $componentRegistrar,
\Magento\Framework\Serialize\Serializer\Json  $serializer = null 
)
Parameters
Dir\Reader$reader
ComponentRegistrar$componentRegistrar
\Magento\Framework\Serialize\Serializer\Json | null$serializer
Exceptions

Definition at line 72 of file PackageInfo.php.

76  {
77  $this->reader = $reader;
78  $this->componentRegistrar = $componentRegistrar;
79  $this->serializer = $serializer?: \Magento\Framework\App\ObjectManager::getInstance()
80  ->get(\Magento\Framework\Serialize\Serializer\Json::class);
81  }

Member Function Documentation

◆ addNonExistingDependency()

addNonExistingDependency (   $dependency)
protected

Add non existing dependency

Parameters
string$dependency
Returns
void

Definition at line 153 of file PackageInfo.php.

154  {
155  if (!isset($this->nonExistingDependencies[$dependency])) {
156  $this->nonExistingDependencies[$dependency] = $dependency;
157  }
158  }

◆ convertPackageNameToModuleName()

convertPackageNameToModuleName (   $packageName)
protected

Build module name based on internal package name

Parameters
string$packageName
Returns
string|null

Definition at line 176 of file PackageInfo.php.

177  {
178  $moduleName = str_replace('magento/module-', '', $packageName);
179  $moduleName = str_replace('-', ' ', $moduleName);
180  $moduleName = str_replace(' ', '', ucwords($moduleName));
181 
182  return 'Magento_' . $moduleName;
183  }

◆ getConflict()

getConflict (   $moduleName)

Get all module names a module conflicts

Parameters
string$moduleName
Returns
array

Definition at line 264 of file PackageInfo.php.

265  {
266  $this->load();
267  $conflict = [];
268  if (isset($this->conflictMap[$moduleName])) {
269  $conflict = array_combine(
270  $this->convertToModuleNames(array_keys($this->conflictMap[$moduleName])),
271  $this->conflictMap[$moduleName]
272  );
273  }
274  return $conflict;
275  }

◆ getModuleName()

getModuleName (   $packageName)

Get module name of a package

Parameters
string$packageName
Returns
string

Definition at line 132 of file PackageInfo.php.

133  {
134  $this->load();
135 
136  $moduleName = null;
137  if (isset($this->packageModuleMap[$packageName])) {
138  $moduleName = $this->packageModuleMap[$packageName];
139  } elseif ($this->isMagentoPackage($packageName)) {
140  $moduleName = $this->convertPackageNameToModuleName($packageName);
141  $this->addNonExistingDependency($moduleName);
142  }
143 
144  return $moduleName;
145  }
elseif(isset( $params[ 'redirect_parent']))
Definition: iframe.phtml:17

◆ getNonExistingDependencies()

getNonExistingDependencies ( )

Return list of non existing dependencies

Returns
array

Definition at line 165 of file PackageInfo.php.

◆ getPackageName()

getPackageName (   $moduleName)

Get package name of a module

Parameters
string$moduleName
Returns
string

Definition at line 202 of file PackageInfo.php.

203  {
204  $this->load();
205  return array_search($moduleName, $this->packageModuleMap) ?: '';
206  }

◆ getRequire()

getRequire (   $moduleName)

Get all module names a module requires

Parameters
string$moduleName
Returns
array

Definition at line 229 of file PackageInfo.php.

230  {
231  $this->load();
232  $require = [];
233  if (isset($this->requireMap[$moduleName])) {
234  $require = $this->convertToModuleNames($this->requireMap[$moduleName]);
235  }
236  return $require;
237  }

◆ getRequiredBy()

getRequiredBy (   $requiredModuleName)

Get all module names a module required by

Parameters
string$requiredModuleName
Returns
array

Definition at line 245 of file PackageInfo.php.

246  {
247  $this->load();
248  $requiredBy = [];
249  foreach ($this->requireMap as $moduleName => $moduleRequireList) {
250  if (in_array($requiredModuleName, $moduleRequireList)) {
251  $requiredBy[] = $moduleName;
252  }
253  }
254 
255  return $requiredBy;
256  }

◆ getVersion()

getVersion (   $moduleName)

Get package version of a module

Parameters
string$moduleName
Returns
string

Definition at line 283 of file PackageInfo.php.

284  {
285  $this->load();
286  return $this->modulePackageVersionMap[$moduleName] ?? '';
287  }

◆ isMagentoPackage()

isMagentoPackage (   $packageName)
protected

Check if package is internal magento module

Parameters
string$packageName
Returns
bool

Definition at line 191 of file PackageInfo.php.

192  {
193  return strpos($packageName, 'magento/module-') === 0;
194  }

Field Documentation

◆ $nonExistingDependencies

$nonExistingDependencies = []
protected

Definition at line 59 of file PackageInfo.php.


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