Session Config¶
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.
| orphan: |
|---|
Standard Config¶
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.
Basic Configuration Options¶
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. |
Basic Usage¶
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);
|
| orphan: |
|---|
Session 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.
Basic Configuration Options¶
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. |
Basic Usage¶
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);
|
Custom Configuration¶
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.