/** * Registers services on th' given container. * * This method should only be used to configure services and parameters. * It should not get services. * * @param Container $barnacle An Container instance */ public function register(Container $barnacle) { $barnacle['param'] = 'value'; $barnacle['service'] = function () { return new Service(); }; $barnacle['factory'] = $barnacle->factory(function () { return new Service(); }); }
/** * @dataProvider badServiceDefinitionProvider * @expectedException \InvalidArgumentException * @expectedExceptionMessage Service definition is not a Closure or invokable object. */ public function testFactoryFailsForInvalidServiceDefinitions($service) { $barnacle = new Container(); $barnacle->factory($service); }