Ralph Schindler wrote: > Hey Simon, > I had this discussion back in the day with Gavin, and at the time, > there was little bandwidth to take on/ enforce this type of > cross-component requirement. > > I would also be interested in aiding you in this endeavor in a minimal way. > >> * Review the existing 'defaults' proposal by Gavin that partially >> addresses this issue (by allowing each component 'defaults') > > The idea of any outside files (ini or otherwise) influencing components > indirectly is a BAD idea in my opinion, and I think that was a proposed > route. In order of precedence of goals, I place "use-at-will > architecture" higher than "configuration over convention" even though I > value both very highly. Having a zendframework.ini that components > globally know about introduces coupling (at the component level) that I > simply cannot agree with.
I agree. What I would like to see is that any component that takes an array of options also accepts a Zend_Config object (of the right level). i.e. internally, the component would just use $config->optionItem1 directly and it's the developer's responsibility to pass the right "sub object" part of the full Zend_Config object to the component. (I hope that makes sense!) >> * Review documentation and look at a consistent way of documenting >> component config defaults/attributes > > This should also be a documentation standard as well, perhaps the > first > (or last) section of every major component that can take a Zend_Config > object will outline what keys its expecting. Yes. This should be exactly the same as the documentation for expected keys in $options arrays. Regards, Rob... > >> * Compile a list of components that use configs and review their usage >> (E.g. Routes, Mail, Db, Cache... etc.) > > This supports the idea of config'ing a component become more of a > "coding standard" than having a global config component that is read from. > > I'd like to see methods (determined on a component by component basis) > implement > > Zend_Component::[\w]Config[\w](Zend_Config $config) > > type methods that can be used at will. > > Each component would have to best decide where the method is > appropriate, whether its static or not, or applies to a specific > instance, etc etc. > >> * Some interest by the community for this to happen! :) > > Go for it! I can keep a watchful eye on this proposal and comment when > necessary. > >> * Draw up a proposal (I'll put up my hand on this) > > Do it! > >> * Review documentation and look at a consistent way of documenting >> component config defaults/attributes > > This should also be a documentation standard as well, perhaps the first > (or last) section of every major component that can take a Zend_Config > object will outline what keys its expecting. > > > > -ralph >
