Hi Marco, Thank you. I was, indeed, reading an outdated version of the documentation the one found at ( http://framework.zend.com/manual/2.1/en/modules/zend.di.introduction.html) plus your links cleared the questions I had.
I can know make it work by setting the desired concrete implementation. :) The question now is what path should I take to store and use these definitions. Seems that storing in as arrays will give me the necessary performance that production apps need. So should I forget about this $di->instanceManager()->addTypePreference() and go straight to the array definition? I tend to like the idea (since I am a Doctrine2 user as well) to have annotation and somehow generate those arrays from them since I have the definitions closer to the actual source code. Is it possible to do so with Zend\Di? Regards. On Sun, Mar 17, 2013 at 11:37 PM, Marco Pivetta <[email protected]> wrote: > Heya! > > Sorry for cross-posting, but I replied this some time ago at > http://stackoverflow.com/questions/15136925/missing-examples-for-zend-framework-2-tutorial-learning-dependency-injection > > The answer above is valid when using Zend\Di, of course. > > You can use the `preference` setting to pick a specific `BarInterface` > implementation when one is requestede: > > > http://stackoverflow.com/questions/12426744/servicelocatorawareinterface-confuses-the-di-container-when-running-module-tests > > > Marco Pivetta > > http://twitter.com/Ocramius > > http://ocramius.github.com/ > > > On 16 March 2013 22:18, mbneto <[email protected]> wrote: > >> Hi, >> >> I found just one documentation about the Zend DIC but I could not find how >> to inform which concrete class should it create based on an interface >> >> Ex. >> >> class Foo >> { >> public function __construct(BarInterface $bar) >> { >> } >> } >> >> class Bar implements BarInterface >> { >> public function __construct($someArg) >> { >> } >> } >> >> I want to create a new instance of Foo using the DIC. How can I set >> this? >> >> $foo = $dic->get('Foo', ?) >> >> Thanks, >> > >
