gonzalo123 / new
Creating new instances auto injecting dependencies from a Pimple Container
dev-master / 1.0.x-dev
2014-11-16 17:42 UTC
Requires
- pimple/pimple: >=v1.0.2, <4.0
This package is not auto-updated.
Last update: 2024-11-05 04:34:39 UTC
README
Creating new instances auto injecting dependencies from a DIC
class Foo { public function hi($name) { return "Hi $name"; } } class Another { public function bye($name) { return "Bye $name"; } } class Bar { private $foo; public function __construct(Foo $foo, $surname = null) { $this->foo = $foo; $this->surname = $surname; } public function hi(Another $another, $name) { return $this->foo->hi($name . " " . $this->surname) . ' ' . $another->bye($name); } } $container = new Pimple\Container (); $container['name'] = "Gonzalo2"; $builder = new G\Builder($container); /** @var Bar $bar */ $bar = $builder->create('Bar', ['surname' => 'Ayuso']); var_dump($builder->call([$bar, 'hi'])); var_dump($bar->hi(new Another(), 'xxxxx'));