23
23
class LazyLoadingFragmentHandler extends FragmentHandler
24
24
{
25
25
private $ container ;
26
+ /**
27
+ * @deprecated since version 3.3, to be removed in 4.0
28
+ */
29
+ private $ rendererIds = array ();
26
30
private $ initialized = array ();
27
31
28
32
/**
@@ -42,21 +46,31 @@ public function __construct(ContainerInterface $container, RequestStack $request
42
46
/**
43
47
* Adds a service as a fragment renderer.
44
48
*
45
- * @deprecated since version 3.3, to be removed in 4.0
46
- *
47
49
* @param string $name The service name
48
50
* @param string $renderer The render service id
51
+ *
52
+ * @deprecated since version 3.3, to be removed in 4.0
49
53
*/
50
54
public function addRendererService ($ name , $ renderer )
51
55
{
52
56
@trigger_error (sprintf ('The %s() method is deprecated since version 3.3 and will be removed in 4.0. ' , __METHOD__ ), E_USER_DEPRECATED );
57
+
58
+ $ this ->rendererIds [$ name ] = $ renderer ;
53
59
}
54
60
55
61
/**
56
62
* {@inheritdoc}
57
63
*/
58
64
public function render ($ uri , $ renderer = 'inline ' , array $ options = array ())
59
65
{
66
+ // BC 3.x, to be removed in 4.0
67
+ if (isset ($ this ->rendererIds [$ renderer ])) {
68
+ $ this ->addRenderer ($ this ->container ->get ($ this ->rendererIds [$ renderer ]));
69
+ unset($ this ->rendererIds [$ renderer ]);
70
+
71
+ return parent ::render ($ uri , $ renderer , $ options );
72
+ }
73
+
60
74
if (!isset ($ this ->initialized [$ renderer ]) && $ this ->container ->has ($ renderer )) {
61
75
$ this ->addRenderer ($ this ->container ->get ($ renderer ));
62
76
$ this ->initialized [$ renderer ] = true ;
0 commit comments