Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
Session.php
Go to the documentation of this file.
1 <?php
7 
15 {
21  protected $_sessionModel;
22 
29 
35  protected $_persistentData;
36 
42  protected $_sessionFactory;
43 
49  protected $_checkoutSession;
50 
57  public function __construct(
58  \Magento\Framework\App\Helper\Context $context,
59  \Magento\Persistent\Helper\Data $persistentData,
60  \Magento\Checkout\Model\Session $checkoutSession,
61  \Magento\Persistent\Model\SessionFactory $sessionFactory
62  ) {
63  $this->_persistentData = $persistentData;
64  $this->_checkoutSession = $checkoutSession;
65  $this->_sessionFactory = $sessionFactory;
66 
67  parent::__construct(
68  $context
69  );
70  }
71 
77  public function getSession()
78  {
79  if ($this->_sessionModel === null) {
80  $this->_sessionModel = $this->_sessionFactory->create();
81  $this->_sessionModel->loadByCookieKey();
82  }
83  return $this->_sessionModel;
84  }
85 
93  public function setSession($sessionModel)
94  {
95  $this->_sessionModel = $sessionModel;
96  return $this->_sessionModel;
97  }
98 
104  public function isPersistent()
105  {
106  return $this->getSession()->getId() && $this->_persistentData->isEnabled();
107  }
108 
114  public function isRememberMeChecked()
115  {
116  if ($this->_isRememberMeChecked === null) {
117  //Try to get from checkout session
118  $isRememberMeChecked = $this->_checkoutSession->getRememberMeChecked();
119  if ($isRememberMeChecked !== null) {
120  $this->_isRememberMeChecked = $isRememberMeChecked;
121  $this->_checkoutSession->unsRememberMeChecked();
122  return $isRememberMeChecked;
123  }
124 
125  return $this->_persistentData->isEnabled()
126  && $this->_persistentData->isRememberMeEnabled()
127  && $this->_persistentData->isRememberMeCheckedDefault();
128  }
129 
130  return (bool)$this->_isRememberMeChecked;
131  }
132 
140  public function setRememberMeChecked($checked = true)
141  {
142  $this->_isRememberMeChecked = $checked;
143  }
144 }
__construct(\Magento\Framework\App\Helper\Context $context, \Magento\Persistent\Helper\Data $persistentData, \Magento\Checkout\Model\Session $checkoutSession, \Magento\Persistent\Model\SessionFactory $sessionFactory)
Definition: Session.php:57
setRememberMeChecked($checked=true)
Definition: Session.php:140
$checked
Definition: billing.phtml:77