Zend Framework hits 1.0. It's a PHP5 MVC framework. I haven't had a chance to play with it yet but I want to.
Hmm... any chance that ZF could replace Cake in some of your projects? Or are you already too heavily invested to consider a wholesale switch? Just curious...
I want to delve into it further before I can make that decision. Zend, like CodeIgniter, has the benefit of lots of additional components that I feel are missing from CakePHP. The key, for me, will be its model handling. CakePHP still "takes the cake" when to comes to the model automation. Hopefully in the next couple weeks I'll get a chance to look at things further and see how well it compares.
I should add that it's not really a bad thing that CakePHP is missing components but I think it would make it easier to implement if it was included instead of having to track stuff down. The bakery does solve some of that problem.
Well, I think I speak for many of us when I say we're really interested in what you think of the two frameworks.
Where is the blog? Where is the cool screencasts showing how to create a blog in 5 minutes? Nah just kidding but I'm very interested in what ZF offers in coding speed. How easy is it to set up a new project, how easy/hard is it to fetch data from the database (which you do all the time...). How easy is it to do the day-by-day stuff. That's where CakePHP/RoR etc has it's real value, at least for me. I'm sure it has all the power.. I mean it's Zend.
I just recently decided to use ZF (3 weeks ago) having come from a Java background but quite capable in PHP, ZF closely resembled what I was familiar with in Java. I gave it 3 solid days to get past the learning curve. Tutorials, blogs, tests, etc.
After 3 days, I was getting annoyed. Maybe I'm just stupid or just don't like writing code. I don't know, but I was really annoyed.
At that point, I decided to 'play' with CakePHP. And I'm glad I did! Within 3 hours, I had my entire base MVC framework baked. Woot! Most of the work done! I did in 3 hours what would've taken me an entire week to manually 'hand code' in ZF.
That said, there is still a learning curve - mainly to work out the API, but in terms of having something write the code for you, you can't go past CakePHP.
Until ZF comes out with something similar, I won't be going back.
ZF is more a collection of PHP5 classes like PEAR rather than a MVC framework.
Ian, to bad you didn't try Rails first.
Holy cow. I'm no programming God but... RoR, Zend, and all other MVCs suck. Hard to understand (esp. RoR), hard to implement, etc.
CakePHP is by far the BEST. Two thumbs up.
I think the difference between ZF and something like Cake, as aurelian also pointed out, is that the framework is not an integrated MVC solution with "one way" to build things, but a loosely coupled set of best-practice classes and tools, where you can pick and choose which parts of it you want to "plug in" to your code when building your projects.
I have a custom-built super-slim MVC framework written in PHP5 that I've been using on my projects for a while, and in the last few months I've slowly started replacing and upgrading parts of it with components from the Zend Framework, and I've had alot of success doing so.
As a result, I've "outsourced" alot of the workhorse functionality in my framework (like caching, fulltext search, ACL, localization) to a pro-class library, so I can focus on the application code instead, but still not be forced into building my app along the conventions of someone else's framework (which is the major issue I have with Cake and Rails).
The ZF developers state in their introduction that their goal is for people to use as much or as little of the Zend Framework as makes sense for them, and I can say that they are accomplishing this goal quite well. The modules work well together but they are also great standalone solutions to common problems that most developers run into.
The Zend_Cache and Zend_Locale modules alone make it worthwhile to spend an afternoon reading through the API docs and playing around with it..
I'm Jonathan Snook and I write about web design and development. I speak at conferences and I yammer on about what I'm having for lunch on Twitter. You can keep up to date with everything I blog here via the RSS feed.
Want to learn more?
© Jonathan Snook
Find me on