Zend Framework was built to use all of the advanced object oriented features of PHP 5. Since PHP 4 is not fully forwards compatible with PHP 5, the Zend Framework community was faced with the decision of committing to support PHP 4 or leveraging existing and future enhancements in PHP 5 from the outset. We felt the overall value proposition was tipped in favor of PHP 5 feature, performance, and security enhancements. On top of that, PHP 4 is officially unsupported by the PHP community as of 2008-01-01, and no critical security updates will be published after 2008-08-08.
Where is the model in ZF's MVC implementation?
Unlike the view and the controller components, the model component can vary dramatically in responsibilities and data store from one MVC application to the next. The ZF community has not defined a model interface, class, or other formalism simply because we wanted to avoid introducing limitations without significant added value. With the introduction of Zend_Form in ZF 1.5, there is potential added value in form-model interoperability. We will evaluate proposals for models which facilitate this interoperability while supporting all data backends for future inclusion in the standard library.
Is ZF a component library or a framework?
Both. Zend Framework provides all the components required for most web applications in a single distribution. But Zend Framework components are also loosely coupled, making it easier to use just a few components to provide functionality to a web application- even alongside other frameworks! With this use-at-will architecture we are implementing features commonly found in more monolithic frameworks. In fact, we are currently working on a tooling component that will make it simpler to build applications using ZF components, yet will not sacrifice the use-at-will nature of existing ZF components. In fact, the tooling component itself can be used alone.