Ответ 1
Если я понимаю вас правильно, все, что вы хотите сделать, это правильно работать в ваших модулях? Предположим, что есть два отдельных шага.
1) Создайте конфигурацию: module.config.php
return array(
'session' => array(
'remember_me_seconds' => 2419200,
'use_cookies' => true,
'cookie_httponly' => true,
),
);
2) Запустите сеанс: Module.php
use Zend\Session\Config\SessionConfig;
use Zend\Session\SessionManager;
use Zend\Session\Container;
use Zend\EventManager\EventInterface;
public function onBootstrap(EventInterface $evm)
{
$config = $evm->getApplication()
->getServiceManager()
->get('Configuration');
$sessionConfig = new SessionConfig();
$sessionConfig->setOptions($config['session']);
$sessionManager = new SessionManager($sessionConfig);
$sessionManager->start();
/**
* Optional: If you later want to use namespaces, you can already store the
* Manager in the shared (static) Container (=namespace) field
*/
Container::setDefaultManager($sessionManager);
}
Найдите дополнительные параметры в документации \Zend\Session\Config\SessionConfig
Если вы хотите также сохранить файлы cookie, см. этот вопрос. Кредиты Андреасу Линдену за его первоначальный ответ - я просто копирую его.