2009/2/12 A.J. Brown <[email protected]>

>
> On Thu, Feb 12, 2009 at 12:37 PM, william0275 <[email protected]> wrote:
>
>>
>> I mean, I sincerely hope
>> Zend Framework achieves recognition with big companies and big projects,
>> and
>> the way to start is by being very serious with your OOP design. You've got
>> Java and .NET out there which is now very robust in term of OOP framework.
>>
>
> I'm sure they'll gladly implement the changes if you open a ticket and
> submit a patch.  You, after all, are one of those knowledgeable OOP people
> that could fix the problem, and part of the Open Source process includes
> providing your own contributions whenever possible :)
>

IMHO patches can solve some local bugs or strange behavior (if you have a
CLA signed), but the architecture of the framework cannot be adjusted by
some random patches.
For example, the Zend_Controller_Front class is a singleton, and the use of
singleton is widely spread across the framework; this makes testing a
mess... Reset view helpers, session handlers that goes wild... But if
Zend_Controller_Front were not a singleton, many classes would cease to
work, because their design does not ask for dependencies from router,
helpers, etc. but pulls them from front controller with a ::getInstance()
call. To fix various action/view helpers and plugins is very difficult
without a overall vision, because of the dependencies. See:
gior...@marty:~/svn/trunk/core$ grep -r "Zend_Controller_Front::getInstance"
library/Zend/ | grep -v svn | awk '{print $1;}'
library/Zend/Test/PHPUnit/ControllerTestCase.php:
library/Zend/Wildfire/Channel/HttpHeaders.php:
library/Zend/Wildfire/Channel/HttpHeaders.php:
library/Zend/Wildfire/Channel/HttpHeaders.php:
library/Zend/Controller/Router/Route/Hostname.php:
library/Zend/Controller/Router/Abstract.php:
library/Zend/Controller/Dispatcher/Abstract.php:
library/Zend/Controller/Action/Helper/Abstract.php:
library/Zend/Controller/Action/Helper/AutoCompleteDojo.php:
library/Zend/Controller/Action/Helper/ActionStack.php:
library/Zend/Controller/Plugin/ErrorHandler.php:
library/Zend/Controller/Plugin/ErrorHandler.php:
library/Zend/Controller/Plugin/Broker.php:
library/Zend/Controller/Plugin/Broker.php:
library/Zend/Controller/Plugin/Broker.php:
library/Zend/Controller/Plugin/Broker.php:
library/Zend/Controller/Plugin/Broker.php:
library/Zend/Controller/Plugin/Broker.php:
library/Zend/Controller/Action.php:
library/Zend/Controller/Action.php:
library/Zend/View/Helper/Partial.php:
library/Zend/View/Helper/Action.php:
library/Zend/View/Helper/Url.php:
library/Zend/View/Helper/Json.php:
library/Zend/Layout/Controller/Action/Helper/Layout.php:
library/Zend/Layout.php:
library/Zend/Layout.php:

-- 
Giorgio Sironi
Piccolo Principe & Ossigeno Scripter
http://ossigeno.sourceforge.net/

Reply via email to