[HttpFoundation][FrameworkBundle] Keep save auto_start behaviour as in 2.2 and make component values consistent with FrameworkBundle's configuration options.
This commit is contained in:
parent
ceaf69b32e
commit
2583c2614f
@ -9,8 +9,7 @@ CHANGELOG
|
|||||||
* added `TimedPhpEngine`
|
* added `TimedPhpEngine`
|
||||||
* added `--clean` option the the `translation:update` command
|
* added `--clean` option the the `translation:update` command
|
||||||
* added `http_method_override` option
|
* added `http_method_override` option
|
||||||
* Reintroduce `auto_start` session config flag which control to `SessionListener` to manually start sessions
|
* Reintroduce `auto_start` session config flag to instruct the `SessionListener` to manually start session
|
||||||
during framework request cycle.
|
|
||||||
* Added session config option `on_demand_mode` to control session start on demand.
|
* Added session config option `on_demand_mode` to control session start on demand.
|
||||||
|
|
||||||
2.2.0
|
2.2.0
|
||||||
|
@ -185,7 +185,7 @@ class Configuration implements ConfigurationInterface
|
|||||||
->canBeUnset()
|
->canBeUnset()
|
||||||
->children()
|
->children()
|
||||||
->booleanNode('auto_start')
|
->booleanNode('auto_start')
|
||||||
->defaultTrue()
|
->defaultFalse()
|
||||||
->info('Flag for SessionListener to start session')
|
->info('Flag for SessionListener to start session')
|
||||||
->end()
|
->end()
|
||||||
->enumNode('on_demand_mode')
|
->enumNode('on_demand_mode')
|
||||||
|
@ -319,18 +319,7 @@ class FrameworkExtension extends Extension
|
|||||||
$container->setParameter('session.auto_start', $config['auto_start']);
|
$container->setParameter('session.auto_start', $config['auto_start']);
|
||||||
|
|
||||||
// this controls the session start on demand feature
|
// this controls the session start on demand feature
|
||||||
switch ($config['on_demand_mode']) {
|
$container->setParameter('session.storage.on_demand_mode', $config['on_demand_mode']);
|
||||||
// already validated
|
|
||||||
case 'on':
|
|
||||||
$demand = SessionStorageInterface::START_ON_DEMAND;
|
|
||||||
break;
|
|
||||||
case 'off':
|
|
||||||
$demand = SessionStorageInterface::NO_START_ON_DEMAND_STRICT;
|
|
||||||
break;
|
|
||||||
case 'off_lax':
|
|
||||||
$demand = SessionStorageInterface::NO_START_ON_DEMAND_LAX;
|
|
||||||
}
|
|
||||||
$container->setParameter('session.storage.on_demand_mode', $demand);
|
|
||||||
|
|
||||||
$container->setParameter('session.storage.mock_name', $config['mock_name']);
|
$container->setParameter('session.storage.mock_name', $config['mock_name']);
|
||||||
|
|
||||||
|
@ -31,7 +31,7 @@ class SessionListener implements EventSubscriberInterface
|
|||||||
private $container;
|
private $container;
|
||||||
private $autoStart;
|
private $autoStart;
|
||||||
|
|
||||||
public function __construct(ContainerInterface $container, $autoStart)
|
public function __construct(ContainerInterface $container, $autoStart = false)
|
||||||
{
|
{
|
||||||
$this->container = $container;
|
$this->container = $container;
|
||||||
$this->autoStart = $autoStart;
|
$this->autoStart = $autoStart;
|
||||||
|
@ -28,24 +28,24 @@ interface SessionStorageInterface
|
|||||||
* Do not start session on demand and throw exception if attempt
|
* Do not start session on demand and throw exception if attempt
|
||||||
* is make to read or write bag data.
|
* is make to read or write bag data.
|
||||||
*/
|
*/
|
||||||
const NO_START_ON_DEMAND_STRICT = 0;
|
const NO_START_ON_DEMAND_STRICT = 'off';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Start the session on demand when accessing bag data.
|
* Start the session on demand when accessing bag data.
|
||||||
*/
|
*/
|
||||||
const START_ON_DEMAND = 1;
|
const START_ON_DEMAND = 'on';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Do not start session on demand but allow access to session bags.
|
* Do not start session on demand but allow access to session bags.
|
||||||
*/
|
*/
|
||||||
const NO_START_ON_DEMAND_LAX = 2;
|
const NO_START_ON_DEMAND_LAX = 'off_lax';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Starts the session.
|
* Starts the session.
|
||||||
*
|
*
|
||||||
* @throws \RuntimeException If something goes wrong starting the session.
|
* @throws \RuntimeException If something goes wrong starting the session
|
||||||
*
|
*
|
||||||
* @return boolean True if started.
|
* @return boolean True if started
|
||||||
*
|
*
|
||||||
* @api
|
* @api
|
||||||
*/
|
*/
|
||||||
@ -54,14 +54,14 @@ interface SessionStorageInterface
|
|||||||
/**
|
/**
|
||||||
* Checks if the session is started.
|
* Checks if the session is started.
|
||||||
*
|
*
|
||||||
* @return boolean True if started, false otherwise.
|
* @return boolean True if started, false otherwise
|
||||||
*/
|
*/
|
||||||
public function isStarted();
|
public function isStarted();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns the session ID
|
* Returns the session ID
|
||||||
*
|
*
|
||||||
* @return string The session ID or empty.
|
* @return string The session ID or empty
|
||||||
*
|
*
|
||||||
* @api
|
* @api
|
||||||
*/
|
*/
|
||||||
@ -79,7 +79,7 @@ interface SessionStorageInterface
|
|||||||
/**
|
/**
|
||||||
* Returns the session name
|
* Returns the session name
|
||||||
*
|
*
|
||||||
* @return mixed The session name.
|
* @return mixed The session name
|
||||||
*
|
*
|
||||||
* @api
|
* @api
|
||||||
*/
|
*/
|
||||||
@ -105,11 +105,11 @@ interface SessionStorageInterface
|
|||||||
* Note regenerate+destroy should not clear the session data in memory
|
* Note regenerate+destroy should not clear the session data in memory
|
||||||
* only delete the session data from persistent storage.
|
* only delete the session data from persistent storage.
|
||||||
*
|
*
|
||||||
* @param Boolean $destroy Destroy session when regenerating?
|
* @param Boolean $destroy Flag true to destroy session when regenerating
|
||||||
* @param integer $lifetime Sets the cookie lifetime for the session cookie. A null value
|
* @param integer $lifetime Sets the cookie lifetime for the session cookie. A null value
|
||||||
* will leave the system settings unchanged, 0 sets the cookie
|
* will leave the system settings unchanged, 0 sets the cookie
|
||||||
* to expire with browser session. Time is in seconds, and is
|
* to expire with browser session. Time is in seconds, and is
|
||||||
* not a Unix timestamp.
|
* not a Unix timestamp
|
||||||
*
|
*
|
||||||
* @return Boolean True if session regenerated, false if error
|
* @return Boolean True if session regenerated, false if error
|
||||||
*
|
*
|
||||||
@ -128,7 +128,7 @@ interface SessionStorageInterface
|
|||||||
* it should actually persist the session data if required.
|
* it should actually persist the session data if required.
|
||||||
*
|
*
|
||||||
* @throws \RuntimeException If the session is saved without being started, or if the session
|
* @throws \RuntimeException If the session is saved without being started, or if the session
|
||||||
* is already closed.
|
* is already closed
|
||||||
*/
|
*/
|
||||||
public function save();
|
public function save();
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user