Just about a month ago Zend Technologies announced Zend PHP Framework in line with the Zend PHP Collaboration Project with the stated goal to offer a “de facto standard PHP Web application development and deployment environment”. Not much information has been made public by Zend, which caused a lot of discussion. Just here and there, involved persons piped up and delivered more or less useful information tidbits. Currently, Zend is working on a first version while working out the collaboration infrastructure and engagement guidelines.
While Zend is enjoying the attention in the PHP world, eZ systems determinedly worked on a very similar project called eZ components. Let’s have a closer look at what it has to offer and how it compares to Zend’s PHP Framework.
Design
Both projects seem to come as independent, loosely coupled components to reduce dependency, of which each user can choose for himself which ones to use. While eZ components shows no signs of designated application design, the Zcontroller and ZpageController components in Zend PHP Framework could foreshadow some sort of MVC framework.
Components
A list of eZ components can be found right here. Unfortunately it’s hard to compare it to Zend’s PHP Framework since there is only a small directory list available, which dates to October 24th. Nevertheless, first similarities can also be found: Standard components of a framework like database abstraction, exceptions, logging, templating but also input filters can be found in both projects.
Beyond that, Zend’s framework offers a search and a URI component. While I’m still wondering how the former could look like, I’m already hoping for the latter one to be “the one class to rule them all” as answer to our URI problems. eZ, on the other hand, offers a broader set of tools: There are generic components like Cache, Configuration, Template and Translation as well as more concrete tools like Archive, File, Image*, Mail and PhpGenerator.
Zend only offers an implementation of ActiveRecord as database abstraction so far. eZ delivers a similar PersistentObject component, but also a thin database layer on top of PDO and DatabaseSchema to tinker with database schemata. Personally, I’d like to see an additional lightweight ActiveRecord implementation that works without explicit datatype definitions.
For templating, eZ relies on the eZ publish template language, which is very similar to Smarty. It’s not yet known how Zend is going to implement this component. Of course, it would be nice to have free choice on what kind of templating to use.
On the spur of the moment i can think of some additional (though less important) areas that would be nice to have components for:
- Authentification
- Web Services
- RPC
- Specialized data structures in SQL (ordered lists, sets, trees, etc.)
License
eZ recently switched from a copyleft-style LGPL licence to a more permissive BSD license. This means that it can be used by anyone for any purpose. Zend PHP Framework comes with a “PHP-type of license” which is similar to the BSD license.
Development
Zend’s framework counts on contributions from the community, while eZ components is being developed by the makers of eZ publish. On one hand I can imagine a lot of people wanting to contribute to a framework, as they’re used to with open source. On the other hand we don’t know yet how easy that’s actually going to be for normal users and what obligations there are to fulfill for the Zend PHP Framework. eZ, however, has full control over design and implementation of its framework. This should result in more consistent design and code. After all, they have some talented developers in their ranks and are quite experienced with this kind of work.
Release
A first beta version of eZ components has been released on Monday, November 28th 2005. Supporters of the Zend PHP Framework will have to be patient: Zend is still “setting up the collaboration infrastructure and engagement guidelines”, which won’t be finished until January 2006 according to the official Q&A.
Conclusion
Since Zend Technologies announced its framework quite precipitiously, they had to take some criticism. Contrary to eZ, who refrained from pompous talk and focussed on programming. It paid off as they are now able to steal Zend’s show, which is good for us: eZ raised the bar for delivering a quality PHP framework and forces Zend to match their work.








November 27th, 2005 at 6:34 pm
I love ezPublish - I reckon it’s the most powerful open source CMS. I’ve always been impressed by their code quality and have learnt a lot from it. Looking forward to checking ezComponents out. This is awesome!
November 27th, 2005 at 6:42 pm
[…] eZ Systems are also quite agressive on their schedule for the eZ Components framework which rumor says will be released in public beta 1.0 tomorrow and 1.0 stable late December 2005 and seems to be the strongest competitor against the “to be announced” Zend PHP Framework. I’ve scanned roughly through the code of eZ Components but will get back with more details when it’s in public beta. […]
November 27th, 2005 at 8:16 pm
This looks quite interesting. From what I understand these libraries will be distributed based around a base package. The question is, will they be able to be used without the base packaged being compiled. One of the annoying things for me, is that the PEAR packages cannot be used without the PEAR base package :) (Or at least it’s a pain in the ass to try and do)
November 27th, 2005 at 9:04 pm
[…] Rubo la notizia all’esperto del settore… eZ rilascier a breve la prima beta di eZ Component, un framework per controbattere al futuro Zend Framework. […]
November 29th, 2005 at 10:49 am
[…] Comunque per maggiori informazioni si può vedere SitePoint. [link] […]
November 29th, 2005 at 12:28 pm
eZ components 1.0beta1 have been released, see here for the news announcement: http://ez.no/company/news/ez_components_1_0_beta1
A technical getting started tutorial is available here: http://ez.no/community/articles/an_introduction_to_ez_components
December 5th, 2005 at 9:01 pm
[…] Comunque per maggiori informazioni si può vedere SitePoint. Technorati Tags: framework informatica internet php [link] […]
December 7th, 2005 at 11:49 am
Dean C: The base class is a dependancy, and as such, you will need it. Read this page to get ideas on the dependancies of each component:
http://ez.no/products/ez_components/ez_components_technical_details
January 2nd, 2006 at 12:24 am
[…] ez Components: New Competition for the Zend Framework […]
January 2nd, 2006 at 11:38 pm
[…] ez Components: New Competition for the Zend Framework […]
January 28th, 2006 at 6:50 am
[…] Los Ez Components entran en competición directa con el Zend Framework del que ya hablé en post anteriores. Con una diferencia, como ya se ha apuntado en muchos otros lugares donde comparan ambos frameworks: los Ez Components ya están dispuestos para su descarga, mientras el Zend Framework todavía es vaporware. […]