Zend Framework comes with a standard set of config classes which are ready for you to use. Config handles setting various configuration such as where a cookie lives, lifetime, including several bits to configure ext/session when using Zend\Session\Config\SessionConfig.
Zend\Session\Config\StandardConfig provides you a basic interface for implementing sessions when not leveraging ext/session. This is utilized more for specialized cases such as when you might have session management done by another system.
The following configuration options are defined by Zend\Session\Config\StandardConfig.
Option | Data Type | Description |
---|---|---|
cache_expire | integer | Specifies time-to-live for cached session pages in minutes. |
cookie_domain | string | Specifies the domain to set in the session cookie. |
cookie_httponly | boolean | Marks the cookie as accessible only through the HTTP protocol. |
cookie_lifetime | integer | Specifies the lifetime of the cookie in seconds which is sent to the browser. |
cookie_path | string | Specifies path to set in the session cookie. |
cookie_secure | boolean | Specifies whether cookies should only be sent over secure connections. |
entropy_length | integer | Specifies the number of bytes which will be read from the file specified in entropy_file. |
entropy_file | string | Defines a path to an external resource (file) which will be used as an additional entropy. |
gc_maxlifetime | integer | Specifies the number of seconds after which data will be seen as ‘garbage’. |
gc_divisor | integer | Defines the probability that the gc process is started on every session initialization. |
gc_probability | integer | Defines the probability that the gc process is started on every session initialization. |
hash_bits_per_character | integer | Defines how many bits are stored in each character when converting the binary hash data. |
name | string | Specifies the name of the session which is used as cookie name. |
remember_me_seconds | integer | Specifies how long to remember the session before clearing data. |
save_path | string | Defines the argument which is passed to the save handler. |
use_cookies | boolean | Specifies whether the module will use cookies to store the session id. |
A basic example is one like the following:
1 2 3 4 5 6 7 8 9 | use Zend\Session\Config\StandardConfig;
use Zend\Session\SessionManager;
$config = new StandardConfig();
$config->setOptions(array(
'remember_me_seconds' => 1800,
'name' => 'zf2',
));
$manager = new SessionManager($config);
|
Zend\Session\Config\SessionConfig provides you a basic interface for implementing sessions when that leverage PHP’s ext/session. Most configuration options configure either the Zend\Session\Storage OR configure ext/session directly.
The following configuration options are defined by Zend\Session\Config\SessionConfig, note that it inherits all configuration from Zend\Session\Config\StandardConfig.
Option | Data Type | Description |
---|---|---|
cache_limiter | string | Specifies the cache control method used for session pages. |
hash_function | string | Allows you to specify the hash algorithm used to generate the session IDs. |
php_save_handler | string | Defines the name of a PHP save_handler embedded into PHP. |
serialize_handler | string | Defines the name of the handler which is used to serialize/deserialize data. |
url_rewriter_tags | string | Specifies which HTML tags are rewritten to include session id if transparent sid enabled. |
use_trans_sid | boolean | Whether transparent sid support is enabled or not. |
A basic example is one like the following:
1 2 3 4 5 6 7 8 9 | use Zend\Session\Config\SessionConfig;
use Zend\Session\SessionManager;
$config = new SessionConfig();
$config->setOptions(array(
'phpSaveHandler' => 'redis',
'savePath' => 'tcp://127.0.0.1:6379?weight=1&timeout=1',
));
$manager = new SessionManager($config);
|
In the event that you prefer to create your own session configuration; you must implement Zend\Session\Config\ConfigInterface which contains the basic interface for items needed when implementing a session. This includes cookie configuration, lifetime, session name, save path and an interface for getting and setting options.
The source code of this file is hosted on GitHub. Everyone can update and fix errors in this document with few clicks - no downloads needed.