Context.php 8.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367
  1. <?php
  2. /**
  3. * Copyright © Magento, Inc. All rights reserved.
  4. * See COPYING.txt for license details.
  5. */
  6. namespace Magento\Framework\View\Element;
  7. /**
  8. * Constructor modification point for Magento\Framework\View\Element\AbstractBlock.
  9. *
  10. * All context classes were introduced to allow for backwards compatible constructor modifications
  11. * of classes that were supposed to be extended by extension developers.
  12. *
  13. * Do not call methods of this class directly.
  14. *
  15. * As Magento moves from inheritance-based APIs all such classes will be deprecated together with
  16. * the classes they were introduced for.
  17. *
  18. * @SuppressWarnings(PHPMD.TooManyFields)
  19. * @SuppressWarnings(PHPMD.CouplingBetweenObjects)
  20. *
  21. * @api
  22. * @since 100.0.2
  23. */
  24. class Context implements \Magento\Framework\ObjectManager\ContextInterface
  25. {
  26. /**
  27. * Request
  28. *
  29. * @var \Magento\Framework\App\RequestInterface
  30. */
  31. protected $_request;
  32. /**
  33. * Layout
  34. *
  35. * @var \Magento\Framework\View\LayoutInterface
  36. */
  37. protected $_layout;
  38. /**
  39. * Event manager
  40. *
  41. * @var \Magento\Framework\Event\ManagerInterface
  42. */
  43. protected $_eventManager;
  44. /**
  45. * URL builder
  46. *
  47. * @var \Magento\Framework\UrlInterface
  48. */
  49. protected $_urlBuilder;
  50. /**
  51. * Cache
  52. *
  53. * @var \Magento\Framework\App\CacheInterface
  54. */
  55. protected $_cache;
  56. /**
  57. * Design
  58. *
  59. * @var \Magento\Framework\View\DesignInterface
  60. */
  61. protected $_design;
  62. /**
  63. * Session
  64. *
  65. * @var \Magento\Framework\Session\SessionManagerInterface
  66. */
  67. protected $_session;
  68. /**
  69. * SID Resolver
  70. *
  71. * @var \Magento\Framework\Session\SidResolverInterface
  72. */
  73. protected $_sidResolver;
  74. /**
  75. * Scope config
  76. *
  77. * @var \Magento\Framework\App\Config\ScopeConfigInterface
  78. */
  79. protected $_scopeConfig;
  80. /**
  81. * @var \Magento\Framework\View\Asset\Repository
  82. */
  83. protected $_assetRepo;
  84. /**
  85. * View config model
  86. *
  87. * @var \Magento\Framework\View\ConfigInterface
  88. */
  89. protected $_viewConfig;
  90. /**
  91. * Cache state
  92. *
  93. * @var \Magento\Framework\App\Cache\StateInterface
  94. */
  95. protected $_cacheState;
  96. /**
  97. * Logger
  98. *
  99. * @var \Psr\Log\LoggerInterface
  100. */
  101. protected $_logger;
  102. /**
  103. * Escaper
  104. *
  105. * @var \Magento\Framework\Escaper
  106. */
  107. protected $_escaper;
  108. /**
  109. * Filter manager
  110. *
  111. * @var \Magento\Framework\Filter\FilterManager
  112. */
  113. protected $_filterManager;
  114. /**
  115. * @var \Magento\Framework\Stdlib\DateTime\TimezoneInterface
  116. */
  117. protected $_localeDate;
  118. /**
  119. * @var \Magento\Framework\Translate\Inline\StateInterface
  120. */
  121. protected $inlineTranslation;
  122. /**
  123. * @param \Magento\Framework\App\RequestInterface $request
  124. * @param \Magento\Framework\View\LayoutInterface $layout
  125. * @param \Magento\Framework\Event\ManagerInterface $eventManager
  126. * @param \Magento\Framework\UrlInterface $urlBuilder
  127. * @param \Magento\Framework\TranslateInterface $translator
  128. * @param \Magento\Framework\App\CacheInterface $cache
  129. * @param \Magento\Framework\View\DesignInterface $design
  130. * @param \Magento\Framework\Session\SessionManagerInterface $session
  131. * @param \Magento\Framework\Session\SidResolverInterface $sidResolver
  132. * @param \Magento\Framework\App\Config\ScopeConfigInterface $scopeConfig
  133. * @param \Magento\Framework\View\Asset\Repository $assetRepo
  134. * @param \Magento\Framework\View\ConfigInterface $viewConfig
  135. * @param \Magento\Framework\App\Cache\StateInterface $cacheState
  136. * @param \Psr\Log\LoggerInterface $logger
  137. * @param \Magento\Framework\Escaper $escaper
  138. * @param \Magento\Framework\Filter\FilterManager $filterManager
  139. * @param \Magento\Framework\Stdlib\DateTime\TimezoneInterface $localeDate
  140. * @param \Magento\Framework\Translate\Inline\StateInterface $inlineTranslation
  141. *
  142. * @SuppressWarnings(PHPMD.ExcessiveParameterList)
  143. */
  144. public function __construct(
  145. \Magento\Framework\App\RequestInterface $request,
  146. \Magento\Framework\View\LayoutInterface $layout,
  147. \Magento\Framework\Event\ManagerInterface $eventManager,
  148. \Magento\Framework\UrlInterface $urlBuilder,
  149. \Magento\Framework\App\CacheInterface $cache,
  150. \Magento\Framework\View\DesignInterface $design,
  151. \Magento\Framework\Session\SessionManagerInterface $session,
  152. \Magento\Framework\Session\SidResolverInterface $sidResolver,
  153. \Magento\Framework\App\Config\ScopeConfigInterface $scopeConfig,
  154. \Magento\Framework\View\Asset\Repository $assetRepo,
  155. \Magento\Framework\View\ConfigInterface $viewConfig,
  156. \Magento\Framework\App\Cache\StateInterface $cacheState,
  157. \Psr\Log\LoggerInterface $logger,
  158. \Magento\Framework\Escaper $escaper,
  159. \Magento\Framework\Filter\FilterManager $filterManager,
  160. \Magento\Framework\Stdlib\DateTime\TimezoneInterface $localeDate,
  161. \Magento\Framework\Translate\Inline\StateInterface $inlineTranslation
  162. ) {
  163. $this->_request = $request;
  164. $this->_layout = $layout;
  165. $this->_eventManager = $eventManager;
  166. $this->_urlBuilder = $urlBuilder;
  167. $this->_cache = $cache;
  168. $this->_design = $design;
  169. $this->_session = $session;
  170. $this->_sidResolver = $sidResolver;
  171. $this->_scopeConfig = $scopeConfig;
  172. $this->_assetRepo = $assetRepo;
  173. $this->_viewConfig = $viewConfig;
  174. $this->_cacheState = $cacheState;
  175. $this->_logger = $logger;
  176. $this->_escaper = $escaper;
  177. $this->_filterManager = $filterManager;
  178. $this->_localeDate = $localeDate;
  179. $this->inlineTranslation = $inlineTranslation;
  180. }
  181. /**
  182. * Get cache
  183. *
  184. * @return \Magento\Framework\App\CacheInterface
  185. */
  186. public function getCache()
  187. {
  188. return $this->_cache;
  189. }
  190. /**
  191. * Get design package
  192. *
  193. * @return \Magento\Framework\View\DesignInterface
  194. */
  195. public function getDesignPackage()
  196. {
  197. return $this->_design;
  198. }
  199. /**
  200. * Get event manager
  201. *
  202. * @return \Magento\Framework\Event\ManagerInterface
  203. */
  204. public function getEventManager()
  205. {
  206. return $this->_eventManager;
  207. }
  208. /**
  209. * Get layout
  210. *
  211. * @return \Magento\Framework\View\LayoutInterface
  212. */
  213. public function getLayout()
  214. {
  215. return $this->_layout;
  216. }
  217. /**
  218. * Get request
  219. *
  220. * @return \Magento\Framework\App\RequestInterface
  221. */
  222. public function getRequest()
  223. {
  224. return $this->_request;
  225. }
  226. /**
  227. * Get session
  228. *
  229. * @return \Magento\Framework\Session\SessionManagerInterface
  230. */
  231. public function getSession()
  232. {
  233. return $this->_session;
  234. }
  235. /**
  236. * Get SID resolver
  237. *
  238. * @return \Magento\Framework\Session\SidResolverInterface
  239. */
  240. public function getSidResolver()
  241. {
  242. return $this->_sidResolver;
  243. }
  244. /**
  245. * Get scope config
  246. *
  247. * @return \Magento\Framework\App\Config\ScopeConfigInterface
  248. */
  249. public function getScopeConfig()
  250. {
  251. return $this->_scopeConfig;
  252. }
  253. /**
  254. * Get inline translation status object
  255. *
  256. * @return \Magento\Framework\Translate\Inline\StateInterface
  257. */
  258. public function getInlineTranslation()
  259. {
  260. return $this->inlineTranslation;
  261. }
  262. /**
  263. * Get URL builder
  264. *
  265. * @return \Magento\Framework\UrlInterface
  266. */
  267. public function getUrlBuilder()
  268. {
  269. return $this->_urlBuilder;
  270. }
  271. /**
  272. * Get asset service
  273. *
  274. * @return \Magento\Framework\View\Asset\Repository
  275. */
  276. public function getAssetRepository()
  277. {
  278. return $this->_assetRepo;
  279. }
  280. /**
  281. * Get view config
  282. *
  283. * @return \Magento\Framework\View\ConfigInterface
  284. */
  285. public function getViewConfig()
  286. {
  287. return $this->_viewConfig;
  288. }
  289. /**
  290. * Get cache state
  291. *
  292. * @return \Magento\Framework\App\Cache\StateInterface
  293. */
  294. public function getCacheState()
  295. {
  296. return $this->_cacheState;
  297. }
  298. /**
  299. * Get logger
  300. *
  301. * @return \Psr\Log\LoggerInterface
  302. */
  303. public function getLogger()
  304. {
  305. return $this->_logger;
  306. }
  307. /**
  308. * Get escaper
  309. *
  310. * @return \Magento\Framework\Escaper
  311. */
  312. public function getEscaper()
  313. {
  314. return $this->_escaper;
  315. }
  316. /**
  317. * Get filter manager
  318. *
  319. * @return \Magento\Framework\Filter\FilterManager
  320. */
  321. public function getFilterManager()
  322. {
  323. return $this->_filterManager;
  324. }
  325. /**
  326. * @return \Magento\Framework\Stdlib\DateTime\TimezoneInterface
  327. */
  328. public function getLocaleDate()
  329. {
  330. return $this->_localeDate;
  331. }
  332. }