public function load(Container $container) { $container->register('xdebug.command.profile', function (Container $container) { return new ProfileCommand($container->get('console.command.handler.runner'), $container->get('xdebug.command.handler.output_dir')); }, ['console.command' => []]); $container->register('xdebug.command.trace', function (Container $container) { return new TraceCommand($container->get('console.command.handler.runner'), $container->get('xdebug.renderer.trace'), $container->get('xdebug.command.handler.output_dir')); }, ['console.command' => []]); $container->register('xdebug.command.handler.output_dir', function (Container $container) { return new OutputDirHandler($container->getParameter('xdebug.output_dir')); }); $container->register('benchmark.executor.xdebug_profile', function (Container $container) { return new ProfileExecutor($container->get('benchmark.remote.launcher')); }, ['benchmark_executor' => ['name' => 'xdebug_profile']]); $container->register('xdebug.executor.xdebug_trace', function (Container $container) { return new TraceExecutor($container->get('benchmark.remote.launcher')); }, ['benchmark_executor' => ['name' => 'xdebug_trace']]); $container->register('xdebug.renderer.trace', function (Container $container) { return new TraceRenderer($container->get('phpbench.formatter')); }); $container->mergeParameter('executors', require_once __DIR__ . '/config/executors.php'); $container->mergeParameter('reports', require_once __DIR__ . '/config/generators.php'); }