@@ -221,31 +221,30 @@ Session start-on-demand
221
221
~~~~~~~~~~~~~~~~~~~~~~~
222
222
223
223
.. versionadded :: 2.3
224
- Control over session "start-on-demand" was added in Symfony 2.3.
224
+ Control over session "start-on-demand" was added in Symfony 2.3.
225
225
226
226
In versions 2.1-2.2, Symfony Sessions automatically invoked ``$session->start() `` when
227
227
any attempt was made to access session data (effectively 'start on demand').
228
- From Symfony 2.3 this behavior can be controlled.
228
+ From Symfony 2.3 this behaviour can be controlled.
229
229
230
230
There are three modes defined by
231
231
:class: `Symfony\\ Component\\ HttpFoundation\\ Session\\ Storage\\ SessionStorageInterface `
232
232
233
233
The settings are as follows:
234
234
235
- - ``SessionStorageInterface::NO_START_ON_DEMAND_STRICT `` - The session will
236
- not be started on demand and any attempt to read or write session data will
237
- result in a ``\RuntimeException ``;
238
- - ``SessionStorageInterface::START_ON_DEMAND `` - The session will be started
239
- if it hasn't already been when any attempt is made to read or write session
240
- data. This setting reflects the default behavior since Symfony 2.1;
241
- - ``SessionStorageInterface::NO_START_ON_DEMAND_LAX `` - The sessions will
242
- not be started on demand when session data is read or written to. It will
243
- allow access to the uninitialized ``BagInterface ``. If the session is subsequently
244
- started manually after data is written to a ``BagInterface ``, it will be overwritten
245
- (by the session data read from persistence).
235
+ - ``SessionStorageInterface::NO_START_ON_DEMAND_STRICT `` - The session will not be started on demand
236
+ and any attempt to read or write session data will result in a ``\RuntimeException ``
237
+ - ``SessionStorageInterface::START_ON_DEMAND `` - The session will be started if it hasn't already been
238
+ when any attempt is made to read or write session data. This setting reflects the default behaviour
239
+ since Symfony 2.1
240
+ - ``SessionStorageInterface::NO_START_ON_DEMAND_LAX `` - The sessions will not be started on demand
241
+ when session data is read or written to. It will allow access to the unitialized ``BagInterface ``.
242
+ If this session is subsequently started manually after data is written to a ``BagInterface `` will
243
+ be overwritten (by the session data read from persistence).
246
244
247
245
You can configure these by injecting a configured storage engine into the session::
248
246
247
+ <?php
249
248
use Symfony\Component\HttpFoundation\Session\Session;
250
249
use Symfony\Component\HttpFoundation\Session\Storage\NativeSessionStorage;
251
250
use Symfony\Component\HttpFoundation\Session\Storage\SessionStorageInterface;
@@ -256,6 +255,7 @@ You can configure these by injecting a configured storage engine into the sessio
256
255
SessionStorageInterface::NO_START_ON_DEMAND_STRICT);
257
256
$session = new Session($storage);
258
257
258
+
259
259
PHP 5.4 compatibility
260
260
~~~~~~~~~~~~~~~~~~~~~
261
261
0 commit comments