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,
>>
>
>

Reply via email to