public function testDefinition() { $definition = new Definition(); $definition->setClass('Foo'); $definition->setArguments([1, 2, 3]); $this->assertEquals('Foo', $definition->getClass()); $this->assertEquals([1, 2, 3], $definition->getArguments()); }
private function parseDefinition($id, $service) { $definition = new Definition($id); if (isset($service['synthetic'])) { $definition->setSynthetic($service['synthetic']); } if (isset($service['class'])) { $definition->setClass($service['class']); } if (isset($service['scope'])) { $definition->setScope($service['scope']); } if (isset($service['lazy'])) { $definition->setLazy($service['lazy']); } if (isset($service['arguments'])) { $definition->setArguments($service['arguments']); } if (isset($service['calls'])) { $definition->addCalls($service['calls']); } if (isset($service['configurator'])) { $definition->addConfigurator($service['configurator']); } if (isset($service['factory'])) { $definition->setFactory($service['factory']); } if (isset($service['tags'])) { $definition->setTags($service['tags']); } if (isset($service['aspects'])) { $definition->setAspects($service['aspects']); } return $definition; }
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; }); } } }
private function parseDefinition($id, $service) { $definition = new Definition(); if (isset($service['class'])) { $definition->setClass($service['class']); } if (isset($service['arguments'])) { $definition->setArguments($this->resolveServices($service['arguments'])); } $this->container['services'][$id] = $definition; }
public function testDefinition() { $definition = new Definition('Bar'); $definition->setClass('Foo'); static::assertEquals('Foo', $definition->getClass()); $arguments = array(1, 2, 3); static::assertFalse($definition->hasArguments()); $definition->setArguments($arguments); static::assertTrue($definition->hasArguments()); static::assertEquals($arguments, $definition->getArguments()); $calls = array(array('method', array(1, 2))); static::assertFalse($definition->hasCalls()); $definition->addCalls($calls); static::assertTrue($definition->hasCalls()); static::assertEquals($calls, $definition->getCalls()); }
public function createInstance(Definition $serviceConf, $container) { // decode the argument list $params = (array) $this->normalize($serviceConf->getArguments(), $container); if ($serviceConf->hasFactory()) { $instance = $this->createFromFactory($serviceConf->getFactory(), $params, $container); } else { $class = new \ReflectionClass($serviceConf->getClass()); // create the instance $instance = $class->newInstanceArgs($params); } return $instance; }