1111use Magento \Framework \App \RequestInterface ;
1212use Magento \Framework \Exception \NoSuchEntityException ;
1313use Magento \Framework \Exception \NotFoundException ;
14+ use Magento \Framework \Session \SessionManagerInterface ;
1415use Magento \Store \Api \Data \StoreInterface ;
1516use Magento \Store \Api \StoreCookieManagerInterface ;
1617use Magento \Store \Model \ScopeInterface ;
2324class Context
2425{
2526 /**
26- * @var \Magento\Framework\Session\ SessionManagerInterface
27+ * @var SessionManagerInterface
2728 */
2829 protected $ session ;
2930
3031 /**
31- * @var \Magento\Framework\App\Http\Context
32+ * @var HttpContext
3233 */
3334 protected $ httpContext ;
3435
3536 /**
36- * @var \Magento\Store\Model\ StoreManagerInterface
37+ * @var StoreManagerInterface
3738 */
3839 protected $ storeManager ;
3940
@@ -43,15 +44,15 @@ class Context
4344 protected $ storeCookieManager ;
4445
4546 /**
46- * @param \Magento\Framework\Session\ SessionManagerInterface $session
47- * @param \Magento\Framework\App\Http\Context $httpContext
48- * @param \Magento\Store\Model\ StoreManagerInterface $storeManager
47+ * @param SessionManagerInterface $session
48+ * @param HttpContext $httpContext
49+ * @param StoreManagerInterface $storeManager
4950 * @param StoreCookieManagerInterface $storeCookieManager
5051 */
5152 public function __construct (
52- \ Magento \ Framework \ Session \ SessionManagerInterface $ session ,
53- \ Magento \ Framework \ App \ Http \ Context $ httpContext ,
54- \ Magento \ Store \ Model \ StoreManagerInterface $ storeManager ,
53+ SessionManagerInterface $ session ,
54+ HttpContext $ httpContext ,
55+ StoreManagerInterface $ storeManager ,
5556 StoreCookieManagerInterface $ storeCookieManager
5657 ) {
5758 $ this ->session = $ session ;
@@ -80,7 +81,7 @@ public function beforeDispatch(
8081
8182 /** @var string|array|null $storeCode */
8283 $ storeCode = $ request ->getParam (
83- \ Magento \ Store \ Model \ StoreManagerInterface::PARAM_NAME ,
84+ StoreManagerInterface::PARAM_NAME ,
8485 $ this ->storeCookieManager ->getStoreCodeFromCookie ()
8586 );
8687 if (is_array ($ storeCode )) {
@@ -106,13 +107,13 @@ public function beforeDispatch(
106107 * Take action in case of invalid store requested.
107108 *
108109 * @param RequestInterface $request
109- * @param \Throwable |null $previousException
110+ * @param NoSuchEntityException |null $previousException
110111 * @return void
111112 * @throws NotFoundException
112113 */
113114 private function processInvalidStoreRequested (
114115 RequestInterface $ request ,
115- \ Throwable $ previousException = null
116+ NoSuchEntityException $ previousException = null
116117 ) {
117118 $ store = $ this ->storeManager ->getStore ();
118119 $ this ->updateContext ($ request , $ store );
@@ -137,27 +138,25 @@ private function updateContext(RequestInterface $request, StoreInterface $store)
137138 {
138139 switch (true ) {
139140 case $ store ->isUseStoreInUrl ():
140- $ defaultStoreCode = $ store-> getCode () ;
141+ $ defaultStore = $ store ;
141142 break ;
142143 case ScopeInterface::SCOPE_STORE == $ request ->getServerValue (StoreManager::PARAM_RUN_TYPE ):
143144 $ defaultStoreCode = $ request ->getServerValue (StoreManager::PARAM_RUN_CODE );
145+ $ defaultStore = $ this ->storeManager ->getStore ($ defaultStoreCode );
144146 break ;
145147 default :
146148 $ defaultStoreCode = $ this ->storeManager ->getDefaultStoreView ()->getCode ();
149+ $ defaultStore = $ this ->storeManager ->getStore ($ defaultStoreCode );
147150 break ;
148151 }
149152 $ this ->httpContext ->setValue (
150153 StoreManagerInterface::CONTEXT_STORE ,
151154 $ store ->getCode (),
152- $ defaultStoreCode
155+ $ defaultStore -> getCode ()
153156 );
154-
155- /** @var StoreInterface $defaultStore */
156- $ defaultStore = $ this ->storeManager ->getWebsite ()->getDefaultStore ();
157157 $ this ->httpContext ->setValue (
158158 HttpContext::CONTEXT_CURRENCY ,
159- $ this ->session ->getCurrencyCode ()
160- ?: $ store ->getDefaultCurrencyCode (),
159+ $ this ->session ->getCurrencyCode () ?: $ store ->getDefaultCurrencyCode (),
161160 $ defaultStore ->getDefaultCurrencyCode ()
162161 );
163162 }
0 commit comments