Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
Manager.php
Go to the documentation of this file.
1 <?php
10 namespace Magento\Framework\Module;
11 
20 class Manager
21 {
26  private $outputConfig;
27 
31  private $moduleList;
32 
37  private $outputConfigPaths;
38 
44  public function __construct(
45  Output\ConfigInterface $outputConfig,
46  ModuleListInterface $moduleList,
47  array $outputConfigPaths = []
48  ) {
49  $this->outputConfig = $outputConfig;
50  $this->moduleList = $moduleList;
51  $this->outputConfigPaths = $outputConfigPaths;
52  }
53 
60  public function isEnabled($moduleName)
61  {
62  return $this->moduleList->has($moduleName);
63  }
64 
76  public function isOutputEnabled($moduleName)
77  {
78  return $this->isEnabled($moduleName)
79  && $this->_isCustomOutputConfigEnabled($moduleName)
80  && !$this->outputConfig->isEnabled($moduleName);
81  }
82 
90  protected function _isCustomOutputConfigEnabled($moduleName)
91  {
92  if (isset($this->outputConfigPaths[$moduleName])) {
93  $configPath = $this->outputConfigPaths[$moduleName];
94  if (defined($configPath)) {
95  $configPath = constant($configPath);
96  }
97  return $this->outputConfig->isSetFlag($configPath);
98  }
99  return true;
100  }
101 }
_isCustomOutputConfigEnabled($moduleName)
Definition: Manager.php:90
__construct(Output\ConfigInterface $outputConfig, ModuleListInterface $moduleList, array $outputConfigPaths=[])
Definition: Manager.php:44