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

Public Member Functions

 __construct (Application $composerApp, DirectoryList $directoryList)
 
 checkDependencies (array $packages, $excludeSelf=false)
 

Detailed Description

A class to check if there are any dependency to package(s) that exists in the codebase, regardless of package type

Definition at line 16 of file DependencyChecker.php.

Constructor & Destructor Documentation

◆ __construct()

__construct ( Application  $composerApp,
DirectoryList  $directoryList 
)

Constructor

Parameters
Application$composerApp
DirectoryList$directoryList

Definition at line 34 of file DependencyChecker.php.

35  {
36  $this->composerApp = $composerApp;
37  $this->directoryList = $directoryList;
38  }

Member Function Documentation

◆ checkDependencies()

checkDependencies ( array  $packages,
  $excludeSelf = false 
)

Checks dependencies to package(s), returns array of dependencies in the format of 'package A' => [array of package names depending on package A] If $excludeSelf is set to true, items in $packages will be excluded in all "array of package names depending on package A"

Parameters
string[]$packages
bool$excludeSelf
Returns
string[]

Definition at line 50 of file DependencyChecker.php.

51  {
52  $this->composerApp->setAutoExit(false);
53  $dependencies = [];
54  foreach ($packages as $package) {
55  $buffer = new BufferedOutput();
56  $this->composerApp->resetComposer();
57  $this->composerApp->run(
58  new ArrayInput(
59  ['command' => 'depends', '--working-dir' => $this->directoryList->getRoot(), 'package' => $package]
60  ),
61  $buffer
62  );
63  $dependingPackages = $this->parseComposerOutput($buffer->fetch());
64  if ($excludeSelf === true) {
65  $dependingPackages = array_values(array_diff($dependingPackages, $packages));
66  }
67  $dependencies[$package] = $dependingPackages;
68  }
69  return $dependencies;
70  }

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