该data_collector
标签用于symfony 框架包分析器 pass。symfony 框架包中的编译器传递'很可能在你的编译器传递之前运行,因为你可能已经在你的包之前在应用程序内核中的列表顶部附近注册了框架包(并且包按该顺序加载)。
这意味着不幸的是,使用data_collector
标签为时已晚。但是,您仍然可以在实例化分析器服务之前对其进行操作,并使用分析器定义上git_data_collector
的方法将其添加到其中:addMethodCall
if ($container->getParameter('git_data_collector_enabled')) {
//Get the profiler definition
$definition = $container->getDefinition('profiler');
//require the definition to run the add method with a reference to your data collector when it is instantiated
$definition->addMethodCall('add', array(new Reference('git_data_collector')));
//Add your template to the data_collector templates
$templates = $container->getParameter('data_collector.templates');
$container->setParameter('data_collector.templates', array_merge($templates,array('git' => array('git', 'Profiler:git_info_layout'))));
}
这个想法来自探查器编译器传递,因为您实际上是在尝试复制它的一些功能。