Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
AbstractHelper.php
Go to the documentation of this file.
1 <?php
7 
13 abstract class AbstractHelper
14 {
20  protected $_moduleName;
21 
27  protected $_request;
28 
32  protected $_moduleManager;
33 
37  protected $_logger;
38 
42  protected $_urlBuilder;
43 
47  protected $_httpHeader;
48 
54  protected $_eventManager;
55 
59  protected $_remoteAddress;
60 
64  protected $urlEncoder;
65 
69  protected $urlDecoder;
70 
74  protected $scopeConfig;
75 
79  protected $_cacheConfig;
80 
84  public function __construct(Context $context)
85  {
86  $this->_moduleManager = $context->getModuleManager();
87  $this->_logger = $context->getLogger();
88  $this->_request = $context->getRequest();
89  $this->_urlBuilder = $context->getUrlBuilder();
90  $this->_httpHeader = $context->getHttpHeader();
91  $this->_eventManager = $context->getEventManager();
92  $this->_remoteAddress = $context->getRemoteAddress();
93  $this->_cacheConfig = $context->getCacheConfig();
94  $this->urlEncoder = $context->getUrlEncoder();
95  $this->urlDecoder = $context->getUrlDecoder();
96  $this->scopeConfig = $context->getScopeConfig();
97  }
98 
104  protected function _getRequest()
105  {
106  return $this->_request;
107  }
108 
114  protected function _getModuleName()
115  {
116  if (!$this->_moduleName) {
117  $class = get_class($this);
118  $this->_moduleName = substr($class, 0, strpos($class, '\\Helper'));
119  }
120  return str_replace('\\', '_', $this->_moduleName);
121  }
122 
130  public function isModuleOutputEnabled($moduleName = null)
131  {
132  if ($moduleName === null) {
133  $moduleName = $this->_getModuleName();
134  }
135  return $this->_moduleManager->isOutputEnabled($moduleName);
136  }
137 
145  protected function _getUrl($route, $params = [])
146  {
147  return $this->_urlBuilder->getUrl($route, $params);
148  }
149 }
$_option $_optionId $class
Definition: date.phtml:13
$params[\Magento\Store\Model\StoreManager::PARAM_RUN_CODE]
Definition: website.php:18