That's actually possible by using a `@Di\Inject` annotation (or something
like that). Annotation support is quite limited right now though.

Marco Pivetta

http://twitter.com/Ocramius

http://ocramius.github.com/


On 19 March 2013 03:31, mbneto <[email protected]> wrote:

> 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