Как хранить данные в сеансах vars, используя Zend Framework 2
-
02-01-2020 - |
Вопрос
Я заинтересован в том, чтобы иметь данные, которые могут быть доступными через все мои взгляды и контроллеры, но я хотел бы, чтобы эти данные были очищены, когда браузер закрыт или на действию выхода из системы.
Причина этого заключается в том, что я хочу, чтобы мои взгляды работали только в том случае, если переменная установлена. Например:
public function adminAction(){
if ($rol_type=='admin'){
$this->renderScript('index/admin.phtml');
}
else{
$this->renderScript('index/adminLogin.phtml');
}
}
.
Я бы хотел, чтобы представление admin.phtml не может быть доступно без переменных, установленных на admin, так что никто не может просто изменить панель администратора URL и ACCES.
Я читал 2 документацию Zend Framework's 2 документа о сеансе, но внутри модуля сеанса есть много вещей, поэтому я не знаю, что использовать, или где искать.
Я тоже был бы очень благодарен, если бы вы могли сказать мне, что лучше всего добиться моей цели (потому что я не уверен, что это лучший способ сделать то, что я хочу сделать).
Решение
Вы можете использовать:
use Zend\Session\Container;
.
в контроллере:
$user_session = new Container('mySession');
$user_session->key = "Your Value";
.
Эта клавиша может быть передана на ваш вид или другие модели и контроллеры.
Для получения мы должны построить:
$user_session = new Container('mySession');
$keyValue = $user_session->key; //here you will get the value stored above
.
Надеюсь, что помогает
Спасибо