0

我想知道是否可以使用 zend 框架 2 在会话中存储对象

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

示例对象:

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

有任何想法吗?

4

1 回答 1

1

在 Zend Framework 2 中,会话似乎是一个关联数组,键为 as 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:当然,请确保会话可用

于 2013-10-21T22:45:02.860 回答