@@ -46,16 +46,14 @@ You need to pass the TTL in the options array of the session handler you are usi
46
46
.. code-block :: php
47
47
48
48
// config/services.php
49
- use Symfony\Component\DependencyInjection\Reference;
50
49
use Symfony\Component\HttpFoundation\Session\Storage\Handler\RedisSessionHandler;
51
50
52
- $container
53
- ->register (RedisSessionHandler::class)
54
- ->setArguments ([
55
- new Reference ('Redis'),
51
+ $services
52
+ ->set (RedisSessionHandler::class)
53
+ ->args ([
54
+ service ('Redis'),
56
55
['ttl' => 600],
57
- ]);
58
-
56
+ ])
59
57
60
58
.. _configuring-the-TTL-dynamically-at-runtime :
61
59
@@ -79,13 +77,13 @@ The callback will be called right before the session is written.
79
77
Symfony\Component\HttpFoundation\Session\Storage\Handler\RedisSessionHandler :
80
78
arguments :
81
79
- ' @Redis'
82
- - { 'ttl': !closure [ '@my.ttl.handler'] }
80
+ - { 'ttl': !closure '@my.ttl.handler' }
83
81
84
82
my.ttl.handler :
85
83
class : Some\InvokableClass # some class with an __invoke() method
86
84
arguments :
87
85
# Inject whatever dependencies you need to be able to resolve a TTL for the current session
88
- - @security
86
+ - ' @security'
89
87
90
88
.. code-block :: xml
91
89
@@ -94,26 +92,30 @@ The callback will be called right before the session is written.
94
92
<service id =" Symfony\Component\HttpFoundation\Session\Storage\Handler\RedisSessionHandler" >
95
93
<argument type =" service" id =" Redis" />
96
94
<argument type =" collection" >
97
- <argument key =" ttl" >600</ argument >
95
+ <argument key =" ttl" type = " closure " id = " my.ttl.handler " / >
98
96
</argument >
99
97
</service >
98
+ <!-- some class with an __invoke() method -->
99
+ <service id =" my.ttl.handler" class =" Some\InvokableClass" >
100
+ <!-- Inject whatever dependencies you need to be able to resolve a TTL for the current session -->
101
+ <argument type =" service" id =" security" />
102
+ </service >
100
103
</services >
101
104
102
105
.. code-block :: php
103
106
104
107
// config/services.php
105
- use Symfony\Component\DependencyInjection\Reference;
106
108
use Symfony\Component\HttpFoundation\Session\Storage\Handler\RedisSessionHandler;
107
109
108
- $container
109
- ->register (RedisSessionHandler::class)
110
- ->setArguments ([
111
- new Reference ('Redis'),
112
- ['ttl' => new Reference( 'my.ttl.handler')],
113
- ]);
114
-
115
- $container
110
+ $services
111
+ ->set (RedisSessionHandler::class)
112
+ ->args ([
113
+ service ('Redis'),
114
+ ['ttl' => closure(service( 'my.ttl.handler') )],
115
+ ])
116
+
117
+ $services
116
118
// some class with an __invoke() method
117
- ->register ('my.ttl.handler', 'Some\InvokableClass')
119
+ ->set ('my.ttl.handler', 'Some\InvokableClass')
118
120
// Inject whatever dependencies you need to be able to resolve a TTL for the current session
119
- ->addArgument(new Reference ('security'));
121
+ ->args([service ('security')]);
0 commit comments