> The we already lost the game and should return to the design stage,
> because deep knowledge of design patterns as the prerequisite for using
> any framework is totally unacceptable if we talking about PHP target
> audience. It can help you do advanced stuff, but it should not be
> required. Basic usage should be - *extremely simple*.

I was speaking about the internals, not the API.  I have faith that the
users will be able to use `$registry = Zend_Registry::getInstance();`,
even if they don't understand the why or how.  :-)

In any event, there's an alternative to using the Singleton:

$registry = new Zend_Registry();

If they're not using MVC, then there's any number of ways they may be
handling passing this object.  We currently have no Zend_Controller_Page
class--that could make it more evident how to handle situations like this.

> In the case of over-designed interfaces - they have to. Framework should
> be so easy to use that you don't really need to read the manual for at
> least basic usage - just to look at a couple of the examples and be
> intuitively ready to use it without even diving into the details. Of
> course, it is not always possible - if you talk about complex stuff. But
> trivial stuff should stay trivial.

In that case, we need to go back to the drawing board with components that
model "simple" processes like Zend_Session (Zend_Session_Namespace adds
value, but is not intuitive) or the new Zend_Log class (passing a
Zend_Log_Writer_* object to the constructor could be confusing).

I understand what you're saying, and agree to a point; I think it's
reasonable to try to accommodate users in terms of ease of use.  But I
think it's equally reasonable to require a little effort on their part, as
well.

-Matt

Reply via email to