2013-02-04 96 views
1

我是Zend2的新手。我不知道如何摧毁特定的会话。zend2:如何摧毁确切的会议?

$check_username = $session->offsetExists('sess_chk_usr_name'); 
if(empty($check_username)) 
{ 
    $session->offsetSet('sess_chk_usr_name', 'test user'); 
} 

我需要删除会话sess_chk_usr_name,请帮助。

+0

'$会话级> offsetSet( 'sess_chk_usr_name',NULL);'? –

+0

@Mike:在这里,您将会话的值分配给null。我需要取消设置sess_chk_usr_name。 – Kathiravan

+0

这不是一个会话,它是会话中的关键。销毁会话将是['session_destroy()'](http://php.net/session_destroy),这将吹走一切。 –

回答

5

我意识到它已被回答,但它被问了很多。 ZF2中的会话容器基本上为ArrayObjects,标记为ARRAY_AS_PROPS。这意味着它们的行为就像一个数组和一个对象,所以您不仅可以使用对象提供的方法来访问属性,还可以像数组一样对它们进行操作(尽管应该注意的是,该函数家族不会“T工作)

塞特斯

$session = new Container('foo'); 

// these are all equivalent means to the same end 
$session['bar'] = 'foobar'; 

$session->bar = 'foobar'; 

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

吸气剂

$bar = $session['bar']; 

$bar = $session->bar; 

$bar = $session->offsetGet('bar'); 

isset()函数

$test = isset($session['bar']); 

$test = isset($session->bar); 

$test = $session->offsetExists('bar'); 

未设置()

unset($session['bar']); 

unset($session->bar); 

$session->offsetUnset('bar'); 
0

摧毁特定的会话:\

$session->getManager()->getStorage()->clear('ses_variable'); 

    or 

unset($_SESSION['ses_variable']); 

or 

session_destroy('ses_variable');