문제

누군가 시 zf2?내가 이해할 수 없습의 새로운 메커니즘을 사용하여 세션에 zf2.나는 어떻게 쓰이고 읽기/에서 세션에 새로운 zend framework?

또한을 찾을 수 없습니다 예로 인터넷에서.

도움이 되었습니까?

해결책

ZF2 세션 사용의 예 :

세션 생성 :

use Zend\Session\Container;
$session = new Container('base');
.

세션에서 키가 있는지 확인하십시오.

$session->offsetExists('email')
.

키로 세션에서 값 가져 오기 :

$email = $session->offsetGet('email');
.

세션의 설정 값 :

$session->offsetSet('email', $email);
.

세션에서 값을 풉니 다 :

$session->offsetUnset('email');
.

및 세션을 사용하는 다른 쉬운 방법은 다음과 같습니다.

$session = new Container('foo');
.

// 이들은 모두 동등한 의미로 동일한 종료

$session['bar'] = 'foobar';

$session->bar = 'foobar';

$session->offsetSet('bar', 'foobar'); 
.

다른 팁

확실히 그렇습니다,당신은 당 사용 젠\세션\컨테이너

컨테이너의 확장 ArrayObject 고 인스턴스화과 ARRAY_AS_PROPS 국기를 의미할 수 있습 쉽게 속성을 반복하고 읽기/쓰기들,예를 들어,

use Zend\Session\Container as SessionContainer;

$this->session = new SessionContainer('post_supply');
$this->session->ex = true;
var_dump($this->session->ex);

첫 번째 인자가 세 네임스페이스 및 두 번째 관리자. Manager 은 외관에 대한 StorageSaveHandler 그것은 구성 ConfigInterface 을 저장하기 위해서 당신의 세션에서 데이터 DB 또는 Memcache 서버입니다.

현재 ZF2로 작업하고 있습니다.나는 세션의 사용을 발견했다 :

Zend\Authentication\Storage\Session.php

당신의 대답을 찾을 수 있습니다.

로그인 작업에서 세션을 사용하려고하면 다음을 사용할 수 있습니다. "generacodicicetagcode".그것은 사용자와 저장 세션도 인증합니다.

Zend\Authentication\AuthenticationService가 세션을 저장합니다.

여기에 간단한 예입니다.나는 사용자의 성공적인 인증에 대한 세션 유지 보수에 대해 구현했습니다.

<?php
$registry = Zend_Registry::getInstance();
$DB = $registry['DB'];
$authAdapter = new Zend_Auth_Adapter_DbTable($DB);
$authAdapter->setTableName('user');
$authAdapter->setIdentityColumn("user_name");
$authAdapter->setCredentialColumn("user_password");
//get values
$username = $request->getParam('username');
$password = $request->getParam('password');
//set values
$authAdapter->setIdentity($username);
$authAdapter->setCredential($password);

$auth = Zend_Auth::getInstance();
//to store in session
$auth->setStorage(new Zend_Auth_Storage_Session('front'));

$authResult = $auth->authenticate($authAdapter);
if ($authResult->isValid()) {
    $authAdap = $authAdapter->getResultRowObject(null, "Password");
    $auth->getStorage()->write($authAdap);
    $this->_redirect('/login/controlpannel');
} else {
    $this->_redirect('/login/login');
}
?>
.

값 가져 오거나 사용자와 관련된 세션에 저장된 데이터 확인

<?php
$auth = Zend_Auth::getInstance();
$auth->setStorage(new Zend_Auth_Storage_Session('front'));
 if($auth->hasIdentity()){
     $data = $auth->getStorage()->read();
     print_r($data);
 }else{
     $this->_redirect('/login/login');
 }
?>
.

이것은 누군가를 도울 수 있기를 바랍니다

use Zend\Session\Container; 

public function createAction(){
  $session = new Container('name');
  $session->offsetSet('session_variable', $value);
}
//the above codes are used for create session.

public function take_valuesAction(){ 
  $session = new Container('name');
  echo $value = $session->offsetGet('session_variable');
}
//the above codes are used for take values from session.

public function destroyAction(){ 
  $session = new Container('name');
  $session->getManager()->destroy();
}
//the above codes are used for destroy the session.
.

세션을 시작하려면 를 사용해야합니다.

zend\session\container
.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top