如何在zend框架2中的会话中存储对象?

时间:2013-10-21 22:37:50

标签: php session object zend-framework2 zend-session

我想知道我是否可以使用zend frameworks 2

在会话中存储对象

当我检索对象时,它需要是一个对象而不是一个数组

示例对象:

object(Zend\Stdlib\Parameters)[144]
  public 'name' => string 'test test' (length=9)
  public 'website' => string 'test.com' (length=8)
  ...

任何想法?

1 个答案:

答案 0 :(得分:1)

在Zend Framework 2中,会话似乎是一个关联数组,键为namespace,值为另一个关联数组。

为了操作会话,您可以使用名为Container

的抽象层
use Zend\Session\Container;

// namespace 'user'
$userContainer = new Container('user');

// Store the locale and devise
$userContainer->locale = 'fr-FR';
$userContainer->devise = 'Euro';

在特定命名空间下编写您想要的内容。 您可以稍后使用以下方法检索数据:

use Zend\Session\Container;

// Create a container to manipulate session data
$userContainer = new Container('user');

// Check if the data exist under the namespace
if ( $userContainer->offsetExists('devise'))
{
    // Retrieve the data
    $devise = $userContainer->offsetGet('devise');
}
else
{
    // Get the default value
    $devise = 'Euro';
}

PS:当然,请确保会话可用