public function testDelegatedGet() { $delegate = new Container(); $delegate['baz'] = 'qux'; $this->container->delegate($delegate); $this->assertEquals('qux', $this->container->get('baz')); }
<?php use Xtreamwayz\Pimple\Container; // Load configuration $config = (require __DIR__ . '/config.php'); // Build container $container = new Container(); // Inject config $container['config'] = $config; // Inject factories foreach ($config['dependencies']['factories'] as $name => $object) { $container[$name] = function ($c) use($object, $name) { if ($c->has($object)) { $factory = $c->get($object); } else { $factory = new $object(); $c[$object] = $c->protect($factory); } return $factory($c, $name); }; } // Inject invokables foreach ($config['dependencies']['invokables'] as $name => $object) { $container[$name] = function ($c) use($object) { return new $object(); }; } // Inject "pimple extend-style" factories if (!empty($config['dependencies']['extensions']) && is_array($config['dependencies']['extensions'])) { foreach ($config['dependencies']['extensions'] as $name => $extensions) { foreach ($extensions as $extension) {