I recommend Zend Framework to the career PHP developer.
I know that there’s going to be a firestorm of disagreement or agreement if this post get’s any exposure but I am going to post it anyway. Many would shun me for naming a “best framework” for anything. From a career viewpoint, I have my reasons.
PHP frameworks are everywhere. CakePHP, CodeIgniter, and symfony are just some samples of frameworks that have already sprouted and taken root. I’m not going to delve into the specifics of what each can do and what advantages one has over the other. There are numerous other sources that can provide better side-by-side comparisons and even benchmarks of all of the existing frameworks for PHP. I am going to make a recommendation from a career standpoint.
There are a huge number of PHP developers who are entirely independent and have no intentions or desire to get a desk job in a large corporation programming PHP and for that group of developers, feel free to totally ignore this post as it won’t make any sense from your perspective. For the rest of you who are, like me, developing PHP as a career, I will share my findings when it comes to frameworks. Regardless of which framework contains the most bells and whistles and shaves a few lines off your application, if you’re going to spend the time to learn a framework and become an expert, it had better benefit your career as well. It is with that reasoning that I make a framework recommendation.
In the present snapshot of the IT industry, PHP is steadily climbing as a legitimate candidate for larger IT shops. The quantity of PHP jobs increased substantially in just the past year. With certainty, developers who want to get the best of these jobs will need to keep pace with the industry and learn new skillets before they are requested within job postings. I cautiously approached issue of frameworks because I was not sure how the situation would unfold. With the completion of the Zend Framework, I feel it’s likely that this is a skill that will grant it’s early adopters an edge in the market.
Until recently, corporate PHP use has been generally limited to smaller projects, smaller companies, and smaller applications. As PHP use grows in larger projects and larger teams, the need for a framework because greater. So the simple question is: which framework will the industry adopt? While I can’t predict the future, I feel that the Zend Framework is by far the most likely choice from a corporate perspective. Companies will likely choose ZF because it is made by Zend, it has a large support community, it is likely better tested, and because Zend isn’t likely to go anywhere soon. This doesn’t mean that there won’t be groups using other frameworks on occasion, but I am predicting the choice of larger, establish companies as a general trend.
Another huge plus for Zend Framework is the specialties it contains with web services. Web services will undoubtedly be a firm part of the corporate future and ZF’s support for web services will only add to the case. This combined with the other basic reasons will surely make ZF the candidate of choice.
All that aside, ZF is pretty cool. It’s got a tremendous feature set, has a great syntax, and should improve the performance of any PHP dev team. Just as frameworks such as struts and tiles are prevalent in the J2EE world, the same trend will take hold as PHP becomes more acceptable to the larger groups. I recommend getting started with Zend Framework as I already have. If you start gaining experience with it now, you’ll be a step ahead of your competition when it really counts in the future.
#1 by Azad at October 9th, 2007
| Quote
I gave a shot at all major frameworks and the new ones likes Akelos and php4apps but I always wind up going back to CodeIgniter.
It is developed by the makers of ExpressionEngine, a highly successful CMS. Its very well tested and has a huge user-base.
I don’t think the industry will adopt a single framework. Frameworks are a matter of choice, kind of like Linux Distributions. There is no ‘industry standard’. People choose distributions based on their preference. The same goes with Frameworks.
Zend is a great framework but I prefer to work with CI. I’ve done some major development work with CakePHP because the client demanded that I use Cake but when I recommend frameworks to people, I tell them about CodeIgniter.
Its not that ‘my framework is better than yours’. All frameworks are good but its all about personal preference.
#2 by K Wal at October 9th, 2007
| Quote
I see your point Azad… But I agree with the main point of the article. I don’t think the author is saying any one is “better than another” or that the industry will officially adopt a specific framework.
I think the point is prediction that Zend will be the “most adopted” framework in the industry. While I’m no psychic, my last job and my current job both adopted Zend framework. I have yet to run into CodeIgniter in the idustry and thats no fault of CodeIgniter… it’s just that Zend made php so the logical choice of the managers is going to fall with Zend.
CodeIgniter is definately a powerful framework and I think that it has an amazing feature set. Unfortunately, I have to agree with the author in that Zend will be used the most simple because its Zend.
#3 by Jay at October 19th, 2007
| Quote
Right on… I have nothing against the other frameworks but Zend is Zend… so since I’m a career man, I’ll dive into Zend.
#4 by Sushant at November 27th, 2007
| Quote
Hi There,
Good Article, And thanks for guidance,
I have just started the reading about zend framework but the thing is that its tutorials are not available anywhere, may be my searching tactist dont work so .
If you have any related stuff can you please post regarding this.
Thanks and Regards
Sushant Danekar
#5 by Tom at February 22nd, 2008
| Quote
I like Zend as well. And it appears to be (and remain) one of the most notorious, active and mature framework (over Symfony, CakePhp).
See http://www.therightsoft.com/softwaretechnologies/webframeworks/?languageid=4
But beware of Python and Ruby frameworks
!
#6 by Colleen at April 21st, 2008
| Quote
Yeh… I want the one that will be the Microsoft of PHP frameworks, even if it SUCKS (like microsoft does) because I made a huge wrong $$ decision many years ago deciding to stay with unix instead of learning Microsoft (which sucked then, sucked a little less with XP and sucks majorly with Vista). And I don’t think Zend framework sucks — it seems it’s more of a personal decision as to style, but I’m gonna go with Zend because they have more clout. Just hope they never try to charge for their framework!
#7 by simon333 at October 30th, 2008
| Quote
I’ve been researching frameworks lately and installed and played with a few. I keep hearing the same thing about Zend being the “career” choice which got me to thinking. I didn’t choose PHP to develop in because it was the logical “career language”. I would have chosen asp or java if I had that mindset back then. I picked PHP because it just worked and had a great community base. I’m glad I made those my criteria. …I’ll pick a framework based on the same ideas and not just the one with the biggest corporate support. (if you can’t tell, I’m not all that impressed with Zend’s “Framework” offering.)
#8 by Neeraj at November 14th, 2008
| Quote
I have used cake and codeigniter both in my previous projects and undoubtedly cake is a better choice because of simplicity in learning curves..
Only yesterday I tried zend framework and gone through the documentation available on the website. Although I succeeded to create the first Index controller but frankly speaking there is not much available tutorials for ZF.
Can anybody help me to find a good tutorial for ZF.
Thanks in advance
#9 by Ariel Z. at January 15th, 2009
| Quote
I hate Zend Framework, I have read 2 books on it and I barely “get it”!!
Why is it so hard??? what i can’t stand to keep looking where things are??
And every installation is different, some put “zend” in include folder and some in library. Objects are put in include folder or application / ..argh…
and forget about view stupied Zend_layout keeps changing where the view files are!!
Why why why… As a programer for 10-15 years, why do they make something that should be so easy so hard.. I spend half my time finding where things should go…
Can anyone suggest a solution? I have read “Practical Web2.0″, “PHP in Action”
Ariel
#10 by dimis283 at August 12th, 2009
| Quote
I used codeigniter and for a small project kohana but now I am stick with yiiframework.com,I thing it is a good and a better choice of 2 previous.
#11 by Craigs at September 4th, 2009
| Quote
1 major point I agree with the author: Php jobs are increasing day by day.
Most of the companies that are offering php jobs are asking knowledge zend framework as a necessity.
#12 by magallanes at September 23rd, 2009
| Quote
Zend framework is just FUD, and a developer just must learn it, put in the resume then forget about it.
In any case, almost all framework are useless, specially those mvc framework around here.
Why?. because you are adding a extra (and complex) layer and you are gaining nothing but adding extra code.
Zend Framework specifically is awful, ZF is a mix of several sources of code mix altogether without any rules. The goal of ZF is to growth and nothing else much, the more code ZF add to their stuff then the most bloated and complex it will become.
#13 by Gokhan at October 4th, 2009
| Quote
Agree, if career is the only parameter go for .NET.
If quality, speed and pleasure of developing code are parameters then go for Ruby On Rails
#14 by Amila Udana Kalinga at October 8th, 2009
| Quote
I was studying Zend framework, because it is zend. It is very nice in the beginning when studying it. But was so hard. We need a framework to make it easy in development but here it is not true. I thing going back to CodeIgniter is the best way to solve these issues.
#15 by will at January 10th, 2010
| Quote
I think its become increasingly obvious Zend framework is not the way forward for php developers. They just haven’t delivered a useful, logical framework that will make your life easier as a developer and enable you to make fantastic websites & applications. There are a few other options that are a good choice depending on preference, with good support and documentation. Zend Framework is not one of them. Picking one because you think it might be the industry standard when there are clearly better solutions is not a good idea.
#16 by Quentin at January 25th, 2010
| Quote
Can anyone recommend good books or online material to start learning Zend?
#17 by Toby at January 29th, 2010
| Quote
I have done lots of PHP websites without any framework….then I did some projects in WebObjects and afterwards using Tapestry4 and then Tapestry5 (Java world).
I am now doing a PHP project again and looking for the best framework in terms of simple, clean and fast code without over-complicating everything.
After working with Tapestry5, the Zend framework looks like going back to the middle ages again:
1. Why on earth should I create database tables? When the objects are defined, the database should be generated automatically (e.g. like Hibernate in the Java world).
2. using the Zend framework means lots of lines of code that is repetitive and not really necessary.
When a simple paginator means so much code as described here: http://framework.zend.com/manual/en/learning.paginator.together.html this means I need 5-10 times longer for a project.
Ruby on Rails would be better then PHP using Zend…but still – even Ruby on Rails is only 70% of what Tapestry offers and why on earth should I learn another “fashion” language?
Just my 2 cents.