public function register(\Pimple $container) { $container['doctrine'] = $container->share(function ($container) { return new ManagerRegistry($container); }); if (isset($container['form.extensions']) && class_exists('Symfony\\Bridge\\Doctrine\\Form\\DoctrineOrmExtension')) { $container['form.extensions'] = $container->share($container->extend('form.extensions', function ($extensions, $container) { $extensions[] = new DoctrineOrmExtension($container['doctrine']); return $extensions; })); } if (isset($container['validator']) && class_exists('Symfony\\Bridge\\Doctrine\\Validator\\Constraints\\UniqueEntityValidator')) { $container['doctrine.orm.validator.unique_validator'] = $container->share(function ($container) { return new UniqueEntityValidator($container['doctrine']); }); if (!isset($container['validator.validator_service_ids'])) { $container['validator.validator_service_ids'] = array(); } $container['validator.validator_service_ids'] = array_merge($container['validator.validator_service_ids'], array('doctrine.orm.validator.unique' => 'doctrine.orm.validator.unique_validator')); $container['validator.object_initializers'] = $container->share($container->extend('validator.object_initializers', function (array $objectInitializers) use($container) { $objectInitializers[] = new DoctrineInitializer($container['doctrine']); return $objectInitializers; })); } if (class_exists('Saxulum\\DoctrineOrmCommands\\Command\\CreateDatabaseDoctrineCommand')) { if (isset($container['console'])) { $container['console'] = $container->share($container->extend('console', function (ConsoleApplication $consoleApplication) use($container) { $helperSet = $consoleApplication->getHelperSet(); $helperSet->set(new ManagerRegistryHelper($container['doctrine']), 'doctrine'); return $consoleApplication; })); } if (isset($container['console.commands'])) { $container['console.commands'] = $container->share($container->extend('console.commands', function ($commands) use($container) { $commands[] = new CreateDatabaseDoctrineCommand(); $commands[] = new DropDatabaseDoctrineCommand(); $commands[] = new CreateSchemaDoctrineCommand(); $commands[] = new UpdateSchemaDoctrineCommand(); $commands[] = new DropSchemaDoctrineCommand(); $commands[] = new RunDqlDoctrineCommand(); $commands[] = new RunSqlDoctrineCommand(); $commands[] = new ConvertMappingDoctrineCommand(); $commands[] = new ClearMetadataCacheDoctrineCommand(); $commands[] = new ClearQueryCacheDoctrineCommand(); $commands[] = new ClearResultCacheDoctrineCommand(); $commands[] = new InfoDoctrineCommand(); $commands[] = new ValidateSchemaCommand(); $commands[] = new EnsureProductionSettingsDoctrineCommand(); return $commands; })); } } }
public static function registerFilters(\Pimple $container) { $container['inspector.filter_listener'] = $container->share($container->extend('inspector.filter_listener', function ($listener, $c) { $listener->addAvailableFilter('gitignore', function () { return new Filter\GitIgnoreFilter(); }); return $listener; })); }
public function process(Definition $serviceConf, array $tags, \Pimple $container) { foreach ($tags as $tag) { if (strtolower($tag['name']) === 'konfigurator.event_listener') { $container[$this->dispatcher] = $container->extend($this->dispatcher, function ($dispatcher, $c) use($serviceConf, $tag) { $dispatcher->addListener($tag['event'], function () use($serviceConf, $tag, $c) { $service = $serviceConf->getName(); $method = $tag['method']; if (isset($c[$service])) { return call_user_func_array(array($c[$service], $method), func_get_args()); } return false; }); return $dispatcher; }); } } }
/** * {@inheritdoc} */ public function extend($id, $callable) { return $this->container->extend($id, $callable); }