Hi All
One of the strategies I'd like to see ZF heading toward is the ability
to pass single Zend_Config container to components in the bootstrap to
set up an application.
Currently many of the components all a $config->toArray() or similar
to achieve this, but I think it would be excellent to allow a more
seamless approach with components recognising a Zend_Config instance
and then pulling out the specific values. It would create a much more
organised, lean bootstrap and create better consistency when utilising
ZF components.
For this work, I'd see the following steps needed:-
* Review the existing 'defaults' proposal by Gavin that partially
addresses this issue (by allowing each component 'defaults')
* Compile a list of components that use configs and review their usage
(E.g. Routes, Mail, Db, Cache... etc.)
* Some interest by the community for this to happen! :)
* Draw up a proposal (I'll put up my hand on this)
* Review documentation and look at a consistent way of documenting
component config defaults/attributes
I don't think we would need to pass the _whole_ config to each
component, as this may interfere with developers' naming schemes - it
would be a matter of identifying individual sections within a config
and passing them over:-
E.g.
$db = Zend_Db::factory($config->db);
$cache = Zend_Cache::factory($config->cache);
$mail = new Zend_Mail($config->myMailSection);
However the 'keys' or 'attributes' within each module would, of
course, need to adhere to a strict naming scheme. Most components
already document this in some form or other, but I thought perhaps
each component's documentation could include a table of attributes at
the start of their respective sections to make tracking this down
somewhat easier (as well as an appendix somewhere on the ZF docs).
Any thoughts? It would be nice to fast-track a proposal to see how
quickly it could be tackled. A slim chance for 1.1 or maybe 1.2?
--
Simon Mundy | Director | PEPTOLAB
""" " "" """""" "" "" """"""" " "" """"" " """"" " """""" "" "
202/258 Flinders Lane | Melbourne | Victoria | Australia | 3000
Voice +61 (0) 3 9654 4324 | Mobile 0438 046 061 | Fax +61 (0) 3 9654
4124
http://www.peptolab.com