/** * @var IContainer * @return \Conpago\DI\IContainer */ protected function getContainer() { if (!$this->container) { $this->container = $this->builder->build(); } return $this->container; }
function registerWiring(IContainerBuilder $container) { $container->setConstant('twig.options.auto_reload', true); $container->define('twig_loader_service')->setClass('Twig_Loader_Filesystem')->addArgument('constant', 'view.paths'); $container->define('twig_escaper_service')->setClass('Twig_Extension_Escaper')->addArgument('value', true); $container->define('twig_environment_service')->setClass('Twig_Environment')->setArguments(array(array('component', 'twig_loader_service'), array('array', array('cache' => array('constant', 'application.cache'), 'debug' => array('constant', 'application.debug'), 'auto_reload' => array('constant', 'twig.options.auto_reload')))))->addMethod('addExtension', array(array('component', 'twig_escaper_service'))); }
public function registerWiring(IContainerBuilder $builder) { $components = dirname(__FILE__) . '/Resources/ComponentsConfiguration.php'; $web = dirname(__FILE__) . '/Resources/WebConfiguration.php'; $loader = new ContainerPhpFileLoader(new ContainerArrayLoader()); $builder->merge($loader->load($components)); $builder->merge($loader->load($web)); }
protected function loadComponent(IContainerBuilder $builder, $name, array $component) { $definition = $builder->define($name); if (isset($component['class'])) { $definition->setClass($component['class']); } if (isset($component['constructor']) && $this->validateArguments($name, $component['constructor'])) { $definition->setArguments($component['constructor']); } if (isset($component['notes'])) { $definition->setNotes($component['notes']); } if (isset($component['methods']) && $this->validateMethods($name, $component['methods'])) { $definition->setMethods($component['methods']); } if (isset($component['scope'])) { $definition->setScope($component['scope']); } }
/** * Merge settings with other container/builder, new settings will overwrite * old one. * * @param IContainerBuilder $container */ public function merge($container) { $this->addConstants($container->getConstants()); $this->definitions = array_merge($this->definitions, $container->getDefinitions()); }
/** * Register package wiring. * * Creates a new component declaration named "outlet_service", * user needs to define a pdo_service and classes + outlet.dialect constants * * @param IContainerBuilder $container */ public function registerWiring(IContainerBuilder $container) { $container->define('outlet_service')->setClass('Outlet')->addArgument('array', array('connection' => array('array', array('pdo' => array('component', 'pdo_service'), 'dialect' => array('constant', 'outlet.dialect'))), 'classes' => array('constant', 'database.classes')))->addMethod('createProxies'); }