private function registerServices()
{
$this['db'] = $this->share(function ($app) {
return DriverManager::getConnection(array('driver' => 'pdo_mysql', 'host' => $app['db_host'], 'dbname' => $app['db_name'], 'user' => $app['db_user'], 'password' => $app['db_password']));
});
$this['project_list'] = $this->share(function () {
return new ProjectList();
});
$this['run_storage'] = $this->share(function ($app) {
return new MysqlStorage($app['db'], __DIR__ . '/../../../data/output_files');
});
$this['workspace'] = $this->share(function ($app) {
return new Workspace($app['project_list'], $app['run_storage']);
});
$this['template_loader'] = $this->share(function ($app) {
$loader = new TemplateLoader();
$loader->addDirectory(__DIR__ . '/../../../assets/templates');
return $loader;
});
$this->extend('twig', function ($twig, $app) {
$twig->addExtension(new DateExtension($app['translator']));
$twig->addExtension(new \Twig_Extension_StringLoader());
return $twig;
});
$this->extend('form.extensions', function ($extensions, $app) {
$extensions[] = new BehatLauncherExtension();
return $extensions;
});
}