public function createExpressionContextFactory(ContainerInterface $container) { $factory = new ExpressionContextFactory(); $container->eachMarked(function (ExpressionExtension $extension, BindingInterface $binding) use($factory, $container) { $factory->registerExtension($container->getBound($binding)); }); $container->eachMarked(function (ExpressionResolver $resolver, BindingInterface $binding) use($factory, $container) { $factory->getResolvers()->registerResolver($container->getBound($binding)); }); return $factory; }