문제

i am wondering if i can store a object inside session using zend frameworks 2

when i retrieve the object it needs to be an object and not an array

example object:

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

any ideas?

도움이 되었습니까?

해결책

In Zend Framework 2, The session seems to be an associative array with key as namespace, and value as another associative array.

In order to manipulate the session, you can use an abstraction layer called Container

use Zend\Session\Container;

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

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

to write what you want under a specific namespace. You can later retrieve you data with:

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: Of course, be sure that the session is available

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