Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
Public Member Functions | Data Fields | Protected Attributes
SidResolver Class Reference
Inheritance diagram for SidResolver:
SidResolverInterface

Public Member Functions

 __construct (\Magento\Framework\App\Config\ScopeConfigInterface $scopeConfig, \Magento\Framework\UrlInterface $urlBuilder, \Magento\Framework\App\RequestInterface $request, $scopeType, array $sidNameMap=[], State $appState=null)
 
 getSid (SessionManagerInterface $session)
 
 getSessionIdQueryParam (SessionManagerInterface $session)
 
 setUseSessionVar ($var)
 
 getUseSessionVar ()
 
 setUseSessionInUrl ($flag=true)
 
 getUseSessionInUrl ()
 
- Public Member Functions inherited from SidResolverInterface
 getSid (\Magento\Framework\Session\SessionManagerInterface $session)
 
 getSessionIdQueryParam (\Magento\Framework\Session\SessionManagerInterface $session)
 

Data Fields

const XML_PATH_USE_FRONTEND_SID = 'web/session/use_frontend_sid'
 
- Data Fields inherited from SidResolverInterface
const SESSION_ID_QUERY_PARAM = 'SID'
 

Protected Attributes

 $scopeConfig
 
 $urlBuilder
 
 $request
 
 $sidNameMap
 
 $_useSessionVar = false
 
 $_useSessionInUrl
 
 $_scopeType
 

Detailed Description

Definition at line 12 of file SidResolver.php.

Constructor & Destructor Documentation

◆ __construct()

__construct ( \Magento\Framework\App\Config\ScopeConfigInterface  $scopeConfig,
\Magento\Framework\UrlInterface  $urlBuilder,
\Magento\Framework\App\RequestInterface  $request,
  $scopeType,
array  $sidNameMap = [],
State  $appState = null 
)
Parameters
\Magento\Framework\App\Config\ScopeConfigInterface$scopeConfig
\Magento\Framework\UrlInterface$urlBuilder
\Magento\Framework\App\RequestInterface$request
string$scopeType
array$sidNameMap
State | null$appState

Definition at line 72 of file SidResolver.php.

79  {
80  $this->scopeConfig = $scopeConfig;
81  $this->urlBuilder = $urlBuilder;
82  $this->request = $request;
83  $this->sidNameMap = $sidNameMap;
84  $this->_scopeType = $scopeType;
85  $this->appState = $appState ?: \Magento\Framework\App\ObjectManager::getInstance()->get(State::class);
86  }

Member Function Documentation

◆ getSessionIdQueryParam()

getSessionIdQueryParam ( SessionManagerInterface  $session)

Get session id query param

Parameters
SessionManagerInterface$session
Returns
string

Definition at line 117 of file SidResolver.php.

118  {
119  $sessionName = $session->getName();
120  if ($sessionName && isset($this->sidNameMap[$sessionName])) {
121  return $this->sidNameMap[$sessionName];
122  }
124  }

◆ getSid()

getSid ( SessionManagerInterface  $session)
Parameters
SessionManagerInterface$session
Returns
string|null

Definition at line 92 of file SidResolver.php.

93  {
94  if ($this->appState->getAreaCode() !== \Magento\Framework\App\Area::AREA_FRONTEND) {
95  return null;
96  }
97 
98  $sidKey = null;
99 
100  $useSidOnFrontend = $this->getUseSessionInUrl();
101  if ($useSidOnFrontend && $this->request->getQuery(
102  $this->getSessionIdQueryParam($session),
103  false
104  ) && $this->urlBuilder->isOwnOriginUrl()
105  ) {
106  $sidKey = $this->request->getQuery($this->getSessionIdQueryParam($session));
107  }
108  return $sidKey;
109  }
return false
Definition: gallery.phtml:36
getSessionIdQueryParam(SessionManagerInterface $session)

◆ getUseSessionInUrl()

getUseSessionInUrl ( )

Retrieve use session in URL flag.

Returns
bool @SuppressWarnings(PHPMD.BooleanGetMethodName)

Implements SidResolverInterface.

Definition at line 167 of file SidResolver.php.

168  {
169  if ($this->_useSessionInUrl === null) {
170  //Using config value by default, can be overridden by using the
171  //setter.
172  $this->_useSessionInUrl = (bool)$this->scopeConfig->getValue(
173  self::XML_PATH_USE_FRONTEND_SID,
174  $this->_scopeType
175  );
176  }
177 
179  }

◆ getUseSessionVar()

getUseSessionVar ( )

Retrieve use flag session var instead of SID for URL

Returns
bool @SuppressWarnings(PHPMD.BooleanGetMethodName)

Implements SidResolverInterface.

Definition at line 144 of file SidResolver.php.

◆ setUseSessionInUrl()

setUseSessionInUrl (   $flag = true)

Set Use session in URL flag

Parameters
bool$flag
Returns
$this

Implements SidResolverInterface.

Definition at line 155 of file SidResolver.php.

156  {
157  $this->_useSessionInUrl = (bool)$flag;
158  return $this;
159  }

◆ setUseSessionVar()

setUseSessionVar (   $var)

Set use session var instead of SID for URL

Parameters
bool$var
Returns
$this

Implements SidResolverInterface.

Definition at line 132 of file SidResolver.php.

133  {
134  $this->_useSessionVar = (bool)$var;
135  return $this;
136  }

Field Documentation

◆ $_scopeType

$_scopeType
protected

Definition at line 57 of file SidResolver.php.

◆ $_useSessionInUrl

$_useSessionInUrl
protected

Definition at line 52 of file SidResolver.php.

◆ $_useSessionVar

$_useSessionVar = false
protected

Definition at line 44 of file SidResolver.php.

◆ $request

$request
protected

Definition at line 32 of file SidResolver.php.

◆ $scopeConfig

$scopeConfig
protected

Definition at line 22 of file SidResolver.php.

◆ $sidNameMap

$sidNameMap
protected

Definition at line 37 of file SidResolver.php.

◆ $urlBuilder

$urlBuilder
protected

Definition at line 27 of file SidResolver.php.

◆ XML_PATH_USE_FRONTEND_SID

const XML_PATH_USE_FRONTEND_SID = 'web/session/use_frontend_sid'

Config path for flag whether use SID on frontend

Definition at line 17 of file SidResolver.php.


The documentation for this class was generated from the following file: