Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
ServiceLocator.php
Go to the documentation of this file.
1 <?php
7 
14 
21 {
27  private static $xmlConfigParser;
28 
34  private static $composerJsonParser;
35 
41  private static $frameworkDependenciesParser;
42 
48  private static $dependenciesReportBuilder;
49 
55  private static $circularDependenciesReportBuilder;
56 
62  private static $frameworkDependenciesReportBuilder;
63 
69  private static $csvWriter;
70 
76  public static function getDependenciesReportBuilder()
77  {
78  if (null === self::$dependenciesReportBuilder) {
79  self::$dependenciesReportBuilder = new Dependency\Builder(
80  self::getComposerJsonParser(),
81  new Dependency\Writer(self::getCsvWriter())
82  );
83  }
84  return self::$dependenciesReportBuilder;
85  }
86 
92  public static function getCircularDependenciesReportBuilder()
93  {
94  if (null === self::$circularDependenciesReportBuilder) {
95  self::$circularDependenciesReportBuilder = new CircularReport\Builder(
96  self::getComposerJsonParser(),
97  new CircularReport\Writer(self::getCsvWriter()),
98  new CircularTool([], null)
99  );
100  }
101  return self::$circularDependenciesReportBuilder;
102  }
103 
109  public static function getFrameworkDependenciesReportBuilder()
110  {
111  if (null === self::$frameworkDependenciesReportBuilder) {
112  self::$frameworkDependenciesReportBuilder = new Framework\Builder(
113  self::getFrameworkDependenciesParser(),
114  new Framework\Writer(self::getCsvWriter()),
115  self::getXmlConfigParser()
116  );
117  }
118  return self::$frameworkDependenciesReportBuilder;
119  }
120 
126  private static function getXmlConfigParser()
127  {
128  if (null === self::$xmlConfigParser) {
129  self::$xmlConfigParser = new Parser\Config\Xml();
130  }
131  return self::$xmlConfigParser;
132  }
133 
139  private static function getComposerJsonParser()
140  {
141  if (null === self::$composerJsonParser) {
142  self::$composerJsonParser = new Parser\Composer\Json();
143  }
144  return self::$composerJsonParser;
145  }
146 
152  private static function getFrameworkDependenciesParser()
153  {
154  if (null === self::$frameworkDependenciesParser) {
155  self::$frameworkDependenciesParser = new Parser\Code();
156  }
157  return self::$frameworkDependenciesParser;
158  }
159 
165  private static function getCsvWriter()
166  {
167  if (null === self::$csvWriter) {
168  self::$csvWriter = new Csv(new File());
169  }
170  return self::$csvWriter;
171  }
172 }