@@ -37,17 +37,34 @@ public function load(array $configs, ContainerBuilder $container)
3737
3838 foreach ($ configs as $ name => $ config ) {
3939 $ configDefinition = new Definition ('%exercise_html_purifier.config.class% ' );
40- $ configDefinition ->setFactoryClass ('%exercise_html_purifier.config.class% ' );
41-
42- if ('default ' === $ name ) {
43- $ configDefinition
44- ->setFactoryMethod ('create ' )
45- ->addArgument ($ config );
46- } else {
47- $ configDefinition
48- ->setFactoryMethod ('inherit ' )
49- ->addArgument (new Reference ('exercise_html_purifier.config.default ' ))
50- ->addMethodCall ('loadArray ' , array ($ config ));
40+
41+ // Handle Symfony >= 2.7
42+ if (method_exists ($ configDefinition , 'setFactory ' )) {
43+ if ('default ' === $ name ) {
44+ $ configDefinition
45+ ->setFactory (array ('%exercise_html_purifier.config.class% ' , 'create ' ))
46+ ->addArgument ($ config );
47+ } else {
48+ $ configDefinition
49+ ->setFactory (array ('%exercise_html_purifier.config.class% ' , 'inherit ' ))
50+ ->addArgument (new Reference ('exercise_html_purifier.config.default ' ))
51+ ->addMethodCall ('loadArray ' , array ($ config ));
52+ }
53+ }
54+ // Handle Symfony < 2.7
55+ else {
56+ $ configDefinition ->setFactoryClass ('%exercise_html_purifier.config.class% ' );
57+
58+ if ('default ' === $ name ) {
59+ $ configDefinition
60+ ->setFactoryMethod ('create ' )
61+ ->addArgument ($ config );
62+ } else {
63+ $ configDefinition
64+ ->setFactoryMethod ('inherit ' )
65+ ->addArgument (new Reference ('exercise_html_purifier.config.default ' ))
66+ ->addMethodCall ('loadArray ' , array ($ config ));
67+ }
5168 }
5269
5370 $ configId = 'exercise_html_purifier.config. ' . $ name ;
0 commit comments