I’ve reviewed a few programming frameworks on this site: Ruby on Rails, Django and CakePHP. I think learning each one has made me pretty adept at quickly picking up a new framework and trying it out. So, when our development team decided they were standardizing on Zend, I thought I should put it to the Kenzer test.
I know that I said I was intent on never programming in PHP again, but that’s what our company uses and that’s what Wordpress is written in.
When I reviewed CakePHP, the Zend Framework was very young (I think it was like version 0.6). It’s now in version 1.5 and very capable. It has all the Model-View-Controller (MVC) components as well as a plethora of web services libraries that were very easy to implement. In just a few hours, I took the YouTube library and created a topic specific video browser on my other blog. The documentation was good and there is plenty of community support.
I like how it stores the core code of your application out of the path of what is publicly browsable. It gives it a more clean secure feel. I also like that installation basically consists of copy one directory to your web server - however, it only runs on PHP 5. Caching in the Zend Framework is just a few lines of code, making it a no brainer when it comes to web services.
It does have a few trade offs. It doesn’t have scaffolding or auto form creation like the other’s have. It’s newly implemented Forms library is a little cumbersome. It’s database support, while varied, feels less than integrated.
I think all in all, it’s a great framework. I haven’t touched Cake since 1.1, so I can’t compare it to their current version. I would recommend it to any PHP developer. If you are interested, check out Killer PHP’s tutorials.
Anyone compared it to the latest version of CakePHP? Any new PHP frameworks out there that rock and roll?
3 responses so far ↓
1 Wil Sinclair // Apr 1, 2008 at 8:00 pm
What do you think is cumbersome about the forms implementation? I can forward your feedback to Matthew.
Also, have you looked at the Zend_Build proposal? We haven’t done scaffolding or project/code generation yet simply because we didn’t feel that basing it on convention was the right choice for us. Zend_Build is extremely powerful and extensible. We should have a community prototype in not too long.
Glad you’re enjoying ZF!
,Wil
2 Josh Kenzer // Apr 2, 2008 at 11:08 am
Wil,
I have not looked at the Zend_Build proposal as of yet. Do you have a link to it?
My comment on Forms might have been my relative inexperience. I thought it was odd to create each form element separately and then have to go through an additional step of adding it to the form. I’m guessing this last step lets me set the display order?
Also, I needed to have a select object that was populated with data from the database. I had to do a DB select, iterate through to add it to an array and then add that array to the select object. Seemed unnecessary.
3 Wil Sinclair // Apr 2, 2008 at 5:55 pm
Here’s the Zend_Build proposal: http://framework.zend.com/wiki/display/ZFPROP/Zend_Build+-+Wil+Sinclair
Most of the forms examples I’ve seen have using the ‘factory’ form of instantiation, like in Matthew’s form webinar: http://www.zend.com/en/resources/webinars/framework
I can’t help you with the DB components, but I know who can.
You should ask if that’s the best way on the fw-db list if you’re not sure that’s the best way to do it.
,Wil
Leave a Comment