[dev] [commits] Horde branch master updated. 104e3198ce8b82e1a469dce43420d2d6fa7e2a7d

Michael Rubinsky mrubinsk at horde.org
Thu May 27 20:51:51 UTC 2010


Quoting Michael M Slusarz <slusarz at horde.org>:

> Quoting Michael Rubinsky <mrubinsk at horde.org>:
>
>> Quoting Michael M Slusarz <slusarz at horde.org>:
>>
>>>
>>> commit e433901b802136256a094ae1f870853e7f512e02
>>> Author: Michael M Slusarz <slusarz at curecanti.org>
>>> Date:   Wed May 26 11:34:06 2010 -0600
>>>
>>>   Refactor Horde_Db injectors.
>>>
>>>   Forgot that individual subsystems could potentially define a custom SQL
>>>   configuration.  Therefore, we need a Horde_Db injector with a
>>>   factory/singleton to override the base DB for these subsystems (and
>>>   reuse the base DB object if no custom config is given).
>>>
>>>   Rename Horde_Db_Adapter_Base to Horde_Db_Base and change to a shortcut
>>>   to return the base Horde DB object.
>>>
>>
>> This breaks being able to find other objects' Horde_Db dependency  
>> automatically using type hints. e.g., The various Content_Type_*  
>> classes depend on Horde_Db_Adapter_Base, but now the injector's  
>> dependency finder can no longer locate the binder since it has been  
>> renamed to Horde_Db_Base.
>
> In other words Horde_Db_Adapter_Base just needs to be changed to  
> Horde_Db_Base there (?)

No, because that's not the name of the class that it depends on. The  
injector can automatically resolve an object's dependencies by looking  
the type hints in that object's constructor - it then,as I understand  
it, looks for a binder that matches the name of the class that it  
depends on. Changing the name of the binder from Horde_Db_Adapter_Base  
to Horde_Db_Base messes this up, as the class we are looking for is  
not Horde_Db_Base.

> I really have no clue what is going on inside of 'content', and  
> documentation is very thin, so I was/am not comfortable with  
> changing anything in there.


This is not specific to Content - it would effect any class that  
depends on Horde_Db_Adapter_Base that is resolved by the injector's  
dependency finder automatically.


Thanks,
mike

--
The Horde Project (www.horde.org)
mrubinsk at horde.org

"Time just hates me. That's why it made me an adult." - Josh Joplin


More information about the dev mailing list