The Best PHP Framework

HEY YOU! IT’S 2013 AND THE ARTICLE BELOW IS OUT OF DATE! IF YOU WANT TO FIND OUT WHAT THE BEST PHP FRAMEWORK IS FOR 2013, THEN I ENCOURAGE TO YOU CHECK OUT THIS RECENT BROADCAST FROM MY WEBSITE AT http://www.DCRadioNetwork.com. Cheers! – David

 


Just in case you haven’t noticed, the PHP community is now split in two – on the one hand we have developers who use normal “out of the box” PHP and on the other hand we have developers who use frameworks. I must confess that I spent rather a long time resisting the whole frameworks scene. However, after a few years of stubborn resistance I was finally persuaded into tuning into the frameworks way of doing things.

A good PHP framework should improve security, make websites easier to upgrade and should also dramatically reduce the time it takes you to build websites and web applications. Personally speaking, I’ve discovered another benefit of using frameworks which is seldom documented. You see, before frameworks appeared on the scene it was a challenge to keep on top of all of the emerging technologies for the web. A good PHP framework, however, should help you to keep on top of everything that’s new and hip in the world of web development – without having to learn a bunch of brand new technologies. Need a PDF generator? Your framework should be able to handle that. How about an RSS feed? No problem! Or, how about one of those fancy auto complete features for a search form? Well, sure enough, there’s frameworks that can produce those too.

The big question that a lot of developers are asking these days is, “What is the best PHP framework?”

Well, that’s a question that’s virtually impossible to answer for two reasons. Firstly, we all (as developers) have different hopes and aspirations for our frameworks. For example, person A might be interested in improving development speed while person B might be more interested in having a framework with lots of advanced features. The second reason why “What’s the best PHP framework?” is virtually impossible to answer is because unless you’ve spent at least six months (in my opinion) really getting your hands dirty with a framework, then you don’t really know it. I dare say that there is not a single PHP developer on the planet who is intimately familiar with every major PHP framework. Therefore, there’s always going to be a bit of speculation when you hear somebody talking about what the best framework is. Sure, we can look at statistics (file size, load speed and so on) but statistics don’t really give us a sense of the feel of a framework.

Never the less, I thought I’d throw my oar in and offer a few thoughts of my own. Perhaps this will help some developer out there to make a more informed decision about which PHP framework to use. I declare openly from the start that I am not intimately familiar with all of the frameworks I’m about to mention. However, I have at least tried them all and have (I think) grasped a sense of what they’re like to work with. So, here’s my top five best PHP frameworks of 2011:

5th Place : CakePHP

INFO:

If you look at the statistics, CakePHP is one of the slowest PHP frameworks out there. It’s also rather difficult to learn and has a somewhat cumbersome feel. I must confess that I have not spent much time working with CakePHP. However, the time that I did spend working with it was rather uninspiring. The form generation and validation methods, for example, seemed slower and more awkward to me then straight “out of the box” PHP methods, using OOP.

So, you may well ask, “Why has CakePHP made my top five?” The answer is simple. Community.

The CakePHP community is massive and vibrant. Check out the CakePHP “bakery” and you’ll find tonnes of web development goodies – enough to keep you going for a lifetime! Just about everything that I’ve ever wanted to build for a web application has already been built by someone from the Cake community. As far as I can tell, the CakePHP community is ahead of all other frameworks in this regard. So, for this reason alone Cake makes the top five.

PROS:
Massive, vibrant community
Tonnes of free downloadable sample code and applications

CONS:
Slow page loads
Difficult to learn

4th Place : FuelPHP

INFO:

FuelPHP is a new entry in this year’s chart, knocking Kohana off of the fourth spot.  Incidentally, Kohana is still good but nobody from the Kohana community can be bothered writing a manual.  No manual equals no future.  Goodbye Kohana.  It’s been fun.  Interestingly, I think that in some respects FuelPHP is similar Kohana.  Both frameworks are inspired by the Codeigniter framework and have attempted to improve on some of the areas where Codeigniter isn’t so strong.  Last year I said that Kohana was basically Codeigniter on steroids.  Today the same can be said for FuelPHP.  There’s even at least one leading member of the Codeigniter development team helping to build Fuel.

FuelPHP is modular which means you can quickly “bolt” parts onto your applications. The code is also slicker and more compact than with Codeigniter.  The framework even has HMVC architecture built in.  On paper it has everything going for it!

Personally speaking, I wanted this to be my framework of choice, and I wanted it to be number one on this list, but alas, FuelPHP has a few drawbacks which the makers need to address before it can join the big boys.  One drawback is that the actual code that you have to write to build applications with FuelPHP is not as compact or as easy to follow as Codeigniter code.  More keystrokes means less efficiency and that’s not good.  Another drawback with FuelPHP is that it’s a fairly new framework which means that the community is relatively small.  However, that could change in the future.

Personally speaking, I’ve already spoken to some savvy business owners this year who are insisting that their IT developers switch to FuelPHP.  One thing is for sure – if Codeigniter undergoes a major rewrite or any kind of majorly negative modification then we’ll surely see a tidal wave of developers switching to Fuel.

PROS:
Fast page loads
Modular
Similar to Codeigniter (which is considered to be one of the easiest frameworks to learn)

CONS:
Small community
Code is less compact than Codeigniter
A serious shortage of books and learning resources

3rd Place : Zend

INFO:

If we were ranking all of the PHP frameworks in terms of which one gives you the best employment opportunities then Zend would be first, hands down. If we were placing a bet on which framework would have the most longevity then Zend would surely be our safest bet.

Built by the makers of PHP, Zend is currently the PHP framework of choice for big business. Like CakePHP, it comes packed with tonnes of advanced features, plugins and free optional downloads.

Personally speaking, I haven’t spent a great deal of time using Zend. However, I have a close friend who swears by Zend and has used it to build some absolutely fantastic web applications. As far as I can tell, Zend has pretty much everything you could hope to find in a good PHP framework. It’s powerful, fast and scalable. The demand for Zend developers is immense and knowing how to use Zend is like having a guarantee that you’ll never be out of work.

One of the biggest, though seldom discussed, advantages of Zend is on the IDE front. Users of Zend can enjoy all sorts of auto complete functionality (with software packages like Eclipse) that those of us using other frameworks can only dream of.

Sadly, for me, Zend has a couple of drawbacks. One of which is the somewhat commercialised atmosphere that seems to swamp all things Zend. For instance, the moment you visit the Zend homepage they try to sell you stuff. Expensive stuff. Sure, you can go down the freebie road, like most frameworks. However, if you want to take advantage of the best that Zend has to offer then you’d better have deep pockets.

I also find it disturbing and somewhat perplexing how silent and, for want of a better work, dormant the Zend community seems to be. For example, the last time I checked on YouTube there was only a tiny handful of tutorials on the subject of Zend – all of which were conducted by a guy who sounded disturbingly like Borat!

As far as I can tell, the makers of Zend have been dragged into the open source world kicking and screaming. For this reason, in spite of a range of impressive features and specifications, I have Zend in 3rd place.

PROS:
Zend is currently the PHP framework of choice for big business
Expert Zend developers usually enjoy outstanding employment opportunities
Being built by the guardians of PHP virtually guarantees that Zend is here to stay

CONS:
Users of Zend can expect to receive a tidal wave of sales pitches from the makers of Zend
Zends users need to purchase (very!) expensive add ons to get the best from Zend
Severe lack of community generated tutorials

Mobile Marketing

2nd Place : Yii

INFO:

Statistically speaking, Yii is arguably the best framework on the market (at least, at the time of writing). It gives lightning fast page loads and has more features than you could shake a stick at. Yii is a relatively new kid on the block, as far as frameworks go. The main thing that gives Yii such a high ranking, for me, is the sense that Yii represents the next generation of frameworks. In other words, it’s not just a bit faster than Codeigniter or a bit more feature packed than Zend. With Yii we have a genuine attempt, I think, to radically improve and change the way people use PHP frameworks.

If you’ve tried building websites with or without frameworks for more than six months then you’ll have noticed that you spend a lot of time doing the same things over and over again. For example, building authentication systems or top navigation bars. The makers of Yii appear to have spotted some of those areas and discovered brave new ways to negate them. For example, from the moment you install Yii, you get a perfectly functional and rather impressive website up and running – all automatically.  Yii also comes with a range of wizards for common tasks like CRUDing (creating, reading, updating and deleting) which will leave you wondering “Why didn’t any of the other framework makers think of this?”

Critics of Yii will tell you that it’s difficult to learn and too strict. However, Yii has a nuclear bomb under its’ sleeve to tackle that objection – a guy called Larry Ullman. Larry Ullman is one of the world’s best selling PHP authors. He has written extensively on the subject of PHP and is famous (or, perhaps I should say “highly regarded”) for making difficult web development concepts easy to understand. Within the past year, Larry has been extremely active within the realms of the Yii website. He has written a fantastic series of articles which are all very clear and easy to follow.

Unfortunately there is, never the less, a shortage of books and documentation on the subject of Yii. However, that may change in the future.

Personally speaking, I don’t use Yii in my day to day job. The reason for this is because I don’t have time to spend three to six months learning all the ins and outs of a new framework. Perhaps that will change in the future. In any event, I have spent some time playing around with Yii and based on what I’ve observed I can definitely say that, if I was starting from scratch, I’d definitely give Yii some serious consideration.

Yii was last year’s winner, when I first published this list.  However, I have observed a number of developers complaining that the actual code is messy and difficult to follow.  So, for this reason I’ve dropped it down to position two.  Never the less, it’s a serious piece of kit as far as PHP frameworks go!

PROS:

The fastest loading of all the major frameworks
Automatic generation of base code

CONS:

Being a relatively new framework means lack of books and tutorials
Less employment opportunities than other leading frameworks
Code is not as easy to follow that with other leading frameworks


Learn How to create your own programming language

1st Place : Codeigniter

INFO:

Codeigniter is currently my framework of choice. It’s relatively easy to learn, delivers lightning fast page loads, has tonnes of advanced features and has a very large and active community. As I write there’s currently around 20,000 members of the Codeigniter discussion forum. That’s 20,000 people who potentially know and want to discuss Codeigniter!

Feature wise, Codeigniter can stand toe to toe with other powerful frameworks such as Zend and Cake. It also, without question, has the best documentation of all the php frameworks. That was a major selling point for me.

Although Codeigniter is built and managed by Ellislab – an unashamedly commercial web development company – everything about Codeigniter appears to have been built in the true spirit of open source. Unlike IBM (the makers of Zend), Ellislab don’t try to hard sell to people who use Codeigniter. Thankfully, they have another product (called Expression Engine) where they like to focus their attention . The actual Codeigniter framework is indeed a 100% free and an open source framework with no catches at all and (unlike Zend) no pre-packaged upsell schemes as standard.

I have intimate knownlege of Codeigniter and I think it’s fantastic. However, it’s not perfect. Firstly, it lacks some of the very powerful functionality of Yii, which slows down development time and makes mistakes more likely. Secondly, to make Codeigniter do the things I want it to do, I need to download and install addons which have been produced by volunteers from the community. So, to make it modular (which I like to do) I need to use a third party HMVC addon. Also, to get it using PHP’s native session functionality I need to download an addon for that too. That’s a problem. The final problem I have with Codeigniter is that the methodologies are so loosely structured that no two developers seem to use Codeigniter in quite the same way. So, everybody seems to have their own way of validating forms, using MVC and basically using the framework, day to day.

Never the less, Codeigniter is a deserving winner – in my opinion.  It has a massive community, it can be used to build any kind of application that you might dream of and the code is clear and compact.   It just works!

WANT TO LEARN CODEIGNITER? CLICK HERE AND ENJOY MY FREE TRAINING ON MODULAR (HMVC) CODING WITH CODEIGNITER. IT’S ON YOUTUBE AND FREE. (Note: HMVC is a method of using frameworks which is faster, and generally better than MVC)

PROS:
Fast page loads
Brilliant documentation
Relatively easy to learn
Large community

CONS:
Not as many features as Yii
You need to download third party addons to get the best out of it
Non-strict structural requirements make Codeigniter a coding free-for-all

NOTABLE OMISSION: Keep an eye on Symfony 2.  As far as I can tell, Fabien and the gang have been doing some great work with the Symfony framework over the last year.  I’m not in a position to offer in depth commentary on Symfony due to lack of experience.  However, I think it’s definitely worth a closer look.

Thank you for reading. Rock on!

David Connelly

accounts services

__________________________________________

The Best Top Five PHP Frameworks of 2012:

1st:  Codeigniter * UP ONE PLACE *

2nd:  Yii * DOWN ONE PLACE *

3rd:  Zend

4th:  FuelPHP  *NEW ENTRY*

5th:  CakePHP

__________________________________________

The Top Five PHP Frameworks of 2011

1st:  Yii

2nd:  Codeigniter

3rd:  Zend

4th:  Kohana

5th:  CakePHP

168 comments

  1. Thank you for a well written reviews, i’m considering php frameworks for my next project, have shortlisted a few frameworks, but your article help me decide with framework i need for my next project. All the best with you work, looking forward to see more articles similar to this in the future.

    1. If you are a beginner and searching for best php framework you should first know what exactly php framework is then it will be easy for you to choose framework for you.
      http://iwebeffects.com/what-is-php-framework-how-it-works-and-which-one-you-should-use/

  2. parkerandhobbes · · Reply

    Thank you so much!

  3. Curious to know your thoughts on Symfony. I used it a couple of years ago pretty extensively, well beyond the 6 month mark, and saved me a lot of time. The documentation / tutorials / community seemed pretty active and helpful at that time. And then there is Fabien Potencier. Any thoughts on how Symfony stacks up to Yii?

    1. I tried Symfony for a custom publishing site, but got so frustrated that I had to abandon it. Symfony’s approach is configuration over convention. IMHO, this is a bad way to program. It makes OO programming hard and less like OO programming.

      The problem for me with Symfony is that I could not troubleshoot any problems. I would zip through a bunch of work pretty quickly, and then get stuck for a week or more trying to resolve what should have been a fairly easy thing to fix. The final straw was when I was stuck having to use Symfony’s date function instead of PHP’s native date(). It was about a year ago when I worked on it, so I don’t remember why I couldn’t use PHP’s date() function.

      I built the whole project in CodeIgniter, which I had never used before then, and I have never been happier with a framework. I use CI for everything now.

  4. parkerandhobbes · · Reply

    Hi there,

    Well, I haven’t tried Symfony and unfortunately I’m not qualified to do any sort of meaningful comparison. For what it’s worth though, I have watched some of Fabien’s video presentations on YouTube. I must confess, however, that I found some of the videos difficult to follow.

    In any event, the thing that makes Yii a game changer for me is amount of things you *don’t* have to do to make it work. Even a web designer who knew nothing about web development could get a very impressive Yii driven website up and running in a day, if they wanted to.

    Ultimately, I think all of those different frameworks help make the web development world a richer and more exciting place. So, I think it’s great that Symfony is out there and I like the idea of a French company being at the front line of the PHP world. So, I’m definitely interested in learning more about it and I send the Symfony universe a big thumbs up.

    -David

  5. […] The Best PHP Framework of 2011 | David Connelly’s Blog ここで、一番に選ばれているYii […]

  6. A good article!

  7. Thank you for your thoughts on Kohana. It is my current framework of choice, and would love it to be much more popular than it is (it deserves it). But you are totally right about it’s lack of documentation and a stronger, more helpful community. That´s all that stands in it’s way of being in the top 5 of any similar list. Will try Yii though.

  8. Thanks for taking the time to write this out. I’ve been slacking on the PHP front, and I had never heard of Yii. I’m still wondering how to pronounce it. 🙂 After a couple of little hop, I’m finally taking a big leap and learning Ruby (I’m also really seeing why people say it’s prettier than PHP — I didn’t realize how fatiguing all of the syntactic clutter is). But when I feel like flexing my PHP muscles again, I’m going to give Yii a try.

    As someone else mentioned, Symfony is definitely worth a look. I only gave it a couple weeks, but I am convinced it’s top 5.

  9. Vaclav Kozelka · · Reply

    this article is written in july 2011, so please update the yii cons about books, there are two books about yii. But “Agile Web Development with Yii 1.1” is pro book..
    please add pros and cons to Zend..

    Thanks

    1. parkerandhobbes · · Reply

      Hi,

      Thanks for your comment.

      I said there was a lack of books. For some people two books qualifies as being a lack of books.

      -DC

      1. Yii is impresive,..! You should compare Symfony too but to me, Yii has better design overall and better community, the only thing that symfony overcome to yii is 1) full stack design (like zend) so you can use every component without use the full framework and 2) books… (Yii has only 2 by now).

      2. To that I would add, as someone who has been using those books in an attempt to familiarize with Yii, the book contains a number of problems – some within the text, some reportedly altered between proof and print – that make it difficult to use the example site to learn the framework.

        The Yii forum section for the book has more than a few posts by users who were stymied by one thing or another not functioning as outlined in the book, expressing some frustration at spending more time debugging the book examples than learning from them, and a few have even given up on the book altogether.

        I could forgive the dearth of books if the published material was rock solid, but count me among those frustrated at experiencing delays right at the time I am beginning to experience the epiphany of working within an otherwise powerful framework.

  10. I really like your take on things and from what I’ve read on other sites about Yii it surely has a lot of potential to become the next most popular framework!

    I do however need to mention that CakePHP was for a long time the most popular framework and most developers also sang its praises, like they are doing now with Yii, but CakePHP is on its way out and all those developers who left had to learn a new framework – what is the new flavor of the year!

    2 very important things to consider is the longevity of the framework and market demand in terms of employment (like you’ve mentioned).
    The mere fact that Zend Framework has more reputable engineers as well as bigger companies behind it than other frameworks means both these considerations are addressed.
    So even if Zend Framework is semantically not the best framework out there it will remain growing in popularity – ZF is getting better with every release and many developers believe the next major version ZF2.0 will be spectacular!

    I work in ZF and love it, but I also know that like with Microsoft’s .Net and Java these technologies are preferred by the consumers e.g. Big blue chip companies, Financial institutions etc. who believes .Net or Java is better than anything else, because of the companies associated with it, which means better quality, support etc. etc. – not that this is always the case, but the perception has been created and that’s what the consumers believe.

    Bottom line is, I’d rather spend my time learning a framework which was built with the highest standards as appose to hype. And I must know its going to be around for years to come, but most importantly I want to know that there is a demand for this framework, baring in mind that its not always a 1 size fits all situation.

    1. parkerandhobbes · · Reply

      Hi,

      Some great comments. Thanks for that.

      Your assumption that Zend has better engineers and is built to the highest standards is precisely the point that many other developers (who use other frameworks) would debate.

      Whilst Zend does indeed have the backing of big business I think it would be a gross error to automatically assume that, because of this, Zend is best.

      Consider Internet Explorer. There’s a good example, surely, of a software package that was produced by a rather large company but is considered – as far as I can tell – by the majority of developers to be deeply flawed.

      Big bucks does not equal good software.

      In terms of features and statistics my speculation is that Yii currently blows Zend away. I’m sure there are Yii developers out there who could put this case forward more persuasively than I can.

      1. parkerandhobbes · ·

        I should also say that I don’t see any prospects of any one framework ever dominating the PHP community. My guess is that we’ll always have lots of frameworks to choose from and the PHP community will be a better place for it.

      2. Thanks for the reply,
        I fully agree with your view that larger companies does not always equal better quality software, but please we should not compare Microsoft and IE with the Zend company, IBM and Zend Framework.
        What Zend Framework has to its advantage (above other frameworks) is longevity, semantically better engineered code, and also keep in mind that Zend offers many other products as well which gives you a better overall business integration.

        Fact is most large corporates choose ZF 7/10 times over any other framework. – ZF is an enterprise solution and most entry to mid-level developers normally find it hard to learn ZF, on the flip side of the coin Yii, CI and others focus more on simplicity and RAD etc. for the general opensource market.

  11. I’m a CI, Yii (my favorite) and Symfony developer and I mostly agree with your opinion and comments about these PHP Frameworks…
    Ragarding “Less employment opportunities than other leading frameworks” maybe you’re right, however, all my jobs in the last 2 years has been as Yii Developer, so I guess, that’s changing 🙂

    1. parkerandhobbes · · Reply

      Cheers dude. I appreciate your feedback.

  12. Sorry but nearly everything you wrote about the drawbacks of ZF is FUD.

    “For instance, the moment you visit the Zend homepage they try to sell you stuff. Expensive stuff. Sure, you can go down the freebie road, like most frameworks. However, if you want to take advantage of the best that Zend has to offer then you’d better have deep pockets.”

    How exactly is this a drawback? If you are building a large application which demands more, then isn’t it great that Zend (the company, not the framework) has options for you to choose from?

    The Zend Framework does not require any of the commercial options. None of the commercial options are even related to the Zend Framework itself.

    “I also find it disturbing and somewhat perplexing how silent and, for want of a better work, dormant the Zend community seems to be. For example, the last time I checked on YouTube there was only a tiny handful of tutorials on the subject of Zend – all of which were conducted by a guy who sounded disturbingly like Borat!”

    There is a lot of things going on around ZF. The fact YouTube doesn’t have videos about it doesn’t mean the community is dormant. You should check the mailing lists and the IRC channels for instance, which are very active.

    There are also many people (myself included) writing useful articles about the framework in their blogs – granted, which are a bit harder to find than YouTube, but exist in any case.

    1. parkerandhobbes · · Reply

      Let’s talk for a moment about Zend’s commercial activities. The activities which you say “have nothing to do with zend” and which you seem eager to defend.

      * I downloaded Zend on 3rd July 2010,

      * Within ten seconds of downloading Zend they emailed me and pitched me for “Zend Framework Certification”, telling me that I needed it to “stand out from the crowd”. Cost? $1,000 ($900 with a promo code).

      * Five days later (8th July 2010) the makers of Zend emailed me again. On this occasion they pitched me for the following:

      – Zend Server Cluster Manager. Cost, $6826.29 (a more expensive deal was available, I’m giving you the lowest price)
      – Zend Framework Advanced Online Training. Cost, $1,700
      – Two conferences: Dallas Techfest and Ocean (price information not available as I write)

      * Shortly afterwards, I received another email from the makers on Zend, date – 22nd July 2010. On this email they attempted to sell me and Early Bird ticket for the 6th Zend Conference. Price? $1,195 ($795 with a valid promo code)

      So, just three emails into the process of being a Zend developer and already I’ve been pitched for $10,221.23 worth of stuff! As I write I’ve now received around 50 emails from the makers of Zend. Every single email, without exception, pitches a product or service. Each prodcut or service allegedly improves my experience of using Zend or makes me a better Zend developer. Very few of the products and services that Zend pitch are of less than a one thousand dollar value.

      As you can see, the products clearly do relate to Zend. I’ve given you the products, the prices and even the dates. I understand that I don’t have to buy the products to use Zend. I also want to stress that I love commerce and I have nothing against people earning a living from their work, provided they do so in an ethical manner. The problem I have is that Zend’s marketing strategies seem to be perpetual, aggressive and crude. What we can all say for sure is that no other framework guardian markets in quite the same manner as Zend. Let’s not forget that all of Zend’s very aggressive marketing is going on in the midst of an allegedly open source community where information and knowledge usually flows freely (at least, it does for those who avoid Zend!).

      Moving on…

      I think it’s wonderful that you’re writing articles. As you can see, I like to write articles myself. I salute you for that. However, articles do not have as much value as screencasts. When I checked last year – and I checked very thoroughly – I could only find ONE PERSON from the entire Zend community who had uploaded Zend tutorials onto YouTube. Let me say that again… ONLY ONE PERSON FROM THE ENTIRE ZEND COMMUNITY BOTHERED TO UPLOAD A TUTORIAL TO YOUTUBE. And, that person (bless him!) was clearly not an English speaker.

      Let’s talk about that. Why did none of you Zend developers bother to upload tutorials on YouTube? Why? Of the thousands and thousands of Zend developers who are out there why didn’t one of you (with the single exception of our Eastern Block friend) come forward and offer any video tutorials?

      Looking at the comments I’ve received from my blog post I can see that there’s a lot of angry Zend developers out there. Taking on board the comments I’ve received I’m being left with the impression that Zend users are angry at the rest of us for having the audacity to use other PHP frameworks. It’s almost as if we should all bow down to Zend just because of the name of the company who built it. I even have one guy telling me that he likes Zend because it “has the best developers” (yeah right – and you’ve studied the life and times of every major contributor to every PHP framework, mister?). Now I’ve got you on telling me I’m speaking ‘FUD’ and telling me that none of the things Zend are trying to sell me are related to Zend.

      I’m sorry if I have ruffled any Zend user’s feathers. All I can really say in my defence is that anything negative that I’ve said about Zend has been balanced, I think, by the many positive things that I’ve highlighted about Zend – such as the wonderful employment opporunties for expert Zend developers.

      In any event, I’m satisfied with what I’ve said about Zend and I stand by every word of it.

      1. Pitch emails:

        I’ve received a total of zero. Don’t sign up for them if you don’t want to receive them 🙂

        The only products you quote that directly related to the Zend Framework are the training course and the certificate. In fact, the availability of such trainings is a huge bonus to larger corporations – to which Zend (the company) is aiming these commercial products.

        There are no such things available for some of the other frameworks you mentioned, which is probably why, as you said, you haven’t received such marketing from others.

        YouTube tutorials:

        Screencasts is only one form of learning material. I personally don’t like them very much – they require much more attention from me than reading an article or tutorials.

        However, Zend has produced several screencasts of their own, complete with a lot of useful information. They are available for viewing on their site here: http://www.zend.com/en/resources/webinars/framework

        Lastly, I don’t really see how exactly a screencast is somehow better value than an article containing the same information. Different people learn using different ways – I would say they are both equally good, assuming the information provided is about the same.

        Angry ZF devs:

        I don’t see any, unless you’ve deleted their comments 🙂

        The problem here in my opinion was that it seems you mostly mentioned somewhat unrelated things that caused an annoyance to you personally – Lack of videos (which exist but you didn’t find) and the marketing emails – and not something that is actually a downside when USING the framework.

        Some of the real cons of ZF are that it’s large and can have a steep learning curve especially for beginning PHP developers, and the manual is spotty in places.

        So, I’m not really criticizing you for ranking ZF for #3 – it is your ranking afterall – I just mainly wanted to point out that you may have had some mistakes in what you said about ZF.

      2. parkerandhobbes · ·

        It’s alright. Everyone gets approved. I haven’t deleted anyone. You don’t have to agree with anything I say and I appreciate your comments.

        Everything you’ve said is fair enough. All I’m giving you is my experience with Zend. My experiece of using Zend is that every time I go near Zend I get pitched. I go their homepage. I get pitched. I dowload the framework. I get pitched. I sign up for the Zend newsletter. Pitched again. It never ends. It’s quite possibly the most aggressive form of online marketing that I’ve observed in over 15 years of being a developer!

        Now, I’m glad that you’ve not signed up for the newsletter. You must be a confident and expert developer. Personally speaking, I think I’d be nervous about not subscribing for news and updates incase I missed something important – a security alert or some essential update. That’s why I signed up for the so-called newsletter.

        Thanks again for your comments.

  13. Interesting, but if your skewing information on the Zend Framework is representative of your knowledge of the other frameworks, then it’s deeply flawed.

    1. parkerandhobbes · · Reply

      Is it as flawed as your last sentence?

      1. Yes, it is exactly that flawed. I regularly used the ZF (That’s Zend Framework, as opposed to Zend, which is a company name that sell certification, server products and an IDE among other things). My company regularly uses the Zend Framework. Total cost of downloading, installing and using the Zend Famework for both me and my company: £0.

        I can’t comment on the spam, I don’t receive it, but that is from Zend the company, not from the Zend Framework.

        I wholly respect your right to criticise anything you want on the internet, and in particular things you feel you know about. But quite honestly, your pros and cons for the ZF are just plain wrong. It’s the vibrant community that keeps me using the ZF again and again. I would say your pros and cons should be something more like;

        Pros:
        Backed by a large company, so it has longevity.
        All contributors must sign a legal agreement, so code is always known to be free of licensing issues.
        Large number of “components” that mean you rarely need to re-invent the wheel.
        Cons:
        It’s HUGE! And you can’t currently pick and choose what you want to install (Hopefully addressed in ZF2)
        Documentation is wrong in places, and just plain missing in other places (again, should be addressed in ZF2)
        Can have a steep learning curve if you don’t want to do something “normal” out of the box.

      2. parkerandhobbes · ·

        Fair enough. You’ve made a reasonable case for Zend. It’s not a case that I would necessarily accept but I do appreciate your feedback and your own experiences, as a long term user of Zend, are more valid than my own.

  14. dude, do your homework. I doubt 1 guy did all the ZF videos on youtube.
    http://www.google.co.uk/search?sourceid=chrome&ie=UTF-8&q=site%3Ayoutube.com+zend+framework

    If you had slated the documentation, technical debt, or the slow response to getting ZF2 out of the door, the ZF community would have NO problem with your criticism, the problem they have with it, is that the things you highlighted are just plain wrong.

    1. parkerandhobbes · · Reply

      Perhaps things have moved on since my journey into the world of Zend. It would be good if they had. Many thanks for your feedback.

      1. Over 3000 more videos since July? I suppose the people who posted them faked the upload dates too?

        Sorry, but its just really difficult to respect the conclusions of a post that got things so badly wrong. It ruins the integrity of the post, for the sake of you actually getting in touch with the various communities and actually finding out a bit more about them before writing the post.

        After reading this, and taking into account how wildly twisted the facts seem to be, the only conclusion I can reach, is that you love Yii….

        Nothing wrong with you liking Yii, thats your decision, and I respect that. But your conclusions seem to be very much biased towards making it stand out as the best-in-class, instead of being an objective post.

  15. parkerandhobbes · · Reply

    …and of course, strictly speaking I should be calling it the Zend Framework or ZF. I stand corrected in that regard.

  16. vimalathithan · · Reply

    Can u tell why Yii has less employment opportunities than other leading frame works

  17. vimalathithan · · Reply

    also pl tell the pros n cons of symfony.. y symfony is not in ur top 5..

  18. YII is awesome, someone needs to work on screencasts just like Rails team do.

  19. I have not imagined that Yii is the best framework in your article, because other guys are using Cake PHP, Code Igniter, Zend Framework and Symfony especially in Japan. Actually, I recommend Yii, thank you for your article. Well, there were “PHP conference” and “Frameworks Updates” session there the other day. I myself had a chance to talk about Yii, but got not much reputation there. BTW, you said “I dare say that there is not a single PHP developer on the planet who is intimately familiar with every major PHP framework.”, this is the reason we cannot make a fair comparison. Then I will be the first person who can do it, then.

  20. Great article. I am using Zend at work and i think it’s time for a change.

    1. parkerandhobbes · · Reply

      Thanks

  21. Thank you for the enlightening post. I am currently outsourcing my work to offshore team for a handsome money. Since, it is my hard earned money, I am forcing them to use —-
    1) code Igniter + Data mapper combo.
    2) Less templates.

    PS: I feel demand for languages for all kind of tasks (small, heavy) is of the order
    —-> PERL > PHP > Java > C/C++ > Python > Ruby
    Only for heavy tasks
    ——> Java ~ C# ~ C++ > PERL ~ PYTHON
    ~ means equal

    1. parkerandhobbes · · Reply

      Thanks for that. Good luck with the outsourcing

  22. It’s hard to find knowledgeable people on this topic, but you sound like you know what you’re talking about!

    1. parkerandhobbes · · Reply

      Thank you!

  23. i’m wondering if any of the zf fans try to use yii or other framework because people like me who is starting using frameworks really could use the information of the comparation of zend vs other framework.

  24. That was really a brilliant article and I loved reading it. When I came here searching for good answer to “The Best Framework”, I was first standing with Zend, but reading out your article I am definitely going with CodeIgniter for now.
    I would be trying it out for at least few months before deciding to move on or stay.
    You have written it so nicely that it answers everything and I must agree that answer to this question is virtually impossible. No one on earth can answer it.
    I am your subscriber now…!! 😀

    1. parkerandhobbes · · Reply

      Thank you so much. You’ve made my day!

      Please don’t forget to check out my online radio show at http://www.dcradionetwork.com. It’s mostly on the the subject of internet marketing but I hope you’ll find some useful information there.

      -David

      1. For sure. Thanks again. 😀

  25. Larry Weya · · Reply

    Thanks for a great article, I’ve used Symfony for about 1 and a half years and Cake for about 6 months(had to work with code writen in Cake) till I discovered Yii. In my opinion, Yii is one of the best if not the best framework out there. I especially love that it forces you to create re-usable components and I have a number that I share between projects.

    Symfony was great mostly when used right out of the box, but not too great when you want to create re-usable bits. The configuration system was also quite cumbersome.

    Cake just has a very odd design pattern, lousy debug output, bloated code, noticeably slow and I couldn’t have described it better myself ‘Un-inspiring.’

    Yii’s documentation has improved significantly and there is now an official guide and a great API reference.

    Yii takes the Cake, pun intended!.

  26. This is a nice rundown on PHP frameworks.

    I would like to caution people not to use frameworks not backed by any reliable company. Why? Because there is a 100% chance that that framework will be abandoned. Most of the PHP frameworks around are led by irresponsible developers, who will never maintain them but instead fork and create another competing framework, which they will abandon too. For trivial apps it’s alright to use these fad frameworks. But for projects that will cost a lot of money, it’s better to trust a a framework that will be around 10 years from now (yes it’s Rails and Django, but for PHP there is one too).

    Remember: Today’s fad framework is tomorrows maintenance nightmare.

  27. Thank you so much for such an insightful article. I’m only just getting into frameworks and found this extremely helpful…! I’ll have to go with Zend for now, considering the employment opportunity advantages it has over some of the others. Thank you…

  28. Jitesh Gawali · · Reply

    Hi,

    We at Packt Publishing, recently released a book on Yii titled Yii 1.1 Application Development Cookbook. We are looking for reviewers for this book and would be happy to send across an electronic copy of it for the purpose.

    I found through this blog article, that you’ve great knowledge of Yii and are really fond of the technology (ranked no. 1). I was hoping if you could share your expertise reviewing the book or just writing a general feedback for it. It would greatly help our readers understand about what they can expect from the book.

    All the information about the book can be found here: http://www.packtpub.com/yii-1-1-using-php-framework-application-development-cookbook/book.

    Do let me know your thoughts on this.

    Regards 🙂

  29. I have start using Kohana…

    Any suggestions about tutorials???

  30. Yii is number one… 😀

  31. hi,
    im stuked on php project i began 8 months ago, i told my client it will take 3 months, becuase we use frameworks which help us make things faster.
    I use a friend’s(involved in project) framework(easy and faster to use), but we dont know what happened in 4 months delay…we were correcting errors which became in new errors in other parts of the framework.
    Two weeks ago he left project, because the time we spent development porject and now i dont know what to do, the framework and all the system is developed on his framework, the question what can i do?, what framework can i use or choose? i took a look of cake php, but with your comments i prefer to try yii or insigter frameworks i saw xajax framework too.
    Can you help me, or somebody of you, can recomend me what to do, dead super deadlines, 4 months delay and i will to build project from scratch, client is hungry and worried, because he are near to loose work opportuinities becase the lack of the system..
    Very stressfull situation, i dont know if here’s right place to put this thread but im very desperate.
    Regards

  32. I have developed in Zend Framework (1.X) as well as in Yii (1.1.X). Zend 1.X is old guy that does not take advantage of all OOP features. I favour Yii because it does job much better – extremly fast, code generation, intuitive developer solutions (collecting translation strings, decorators, excellent active record based on PDO). On the other hand ZF has some standalone components that no other frameworks has (e.g. PDF parser, Lucene fulltext). Let’s see what will happen with ZF 2+…

    So my favourite solution is Yii with some additional components that are easy to integrate via “extensions”.

    Now Yii is under development for new branch 2.0 dropping significantly backwards compatability – that’s what I like too, because developers can fully concentrate on most effective design without being burdened with backward compatability issues (see drupal case – poor guy 7 years old and yet cumbersome procedural code).

  33. NAYZAKAY44 · · Reply

    where is Symfony2 in your list ??
    symfony2 is the best php framework (flexible, vary fast, php 5.3+, Doctrine2 ORM, template engine, …) !!
    see http://symfony.com/

  34. What about newcomers? Have anyone tested anything interesting recently?

    I have published about one year ago an interesting project / php framework called AWS XMS.

    This is what I like to call, a new generation of framework, where you have to follow an application standard, defined with xml tags and use built-in features enclosed in the engine of the framework.

    Basically, if you know basic php and follow the application design then you can built very nice apps. Also, beign an XML based framework it is very easy to use any other xml resource (even html) inside your application.

    One other interesting feature is that this framework is able to generate templates automatically from existing html pages or even generate/use the template on the fly. Some nice examples on the website.

    You do not need any ftp client to edit your apps as you can connect directly to the website / app location and use the built-in app designer to edit / create new ones.

    Also, using basic xpath selectors (simple ones, very close to the css selectors), you can address to any parts of the page and execute code on the fly for those elements. Integration with databases is easier than ever as you can use a template for a records set and just multiply it using the database values.

    I will not publish the my web page address here, as I do not want to push too much; but if it sounds interesting I would appreciate your thoughts as this is a new project with a nice approach, no community yet and I think, great potential!!

  35. Your article and the comments gave me a hearty laugh! This is the best read I’ve had in months, thanks alot. Personally I use Kohana because of its simplicity and strict OOP, but your comments on Kohana are so true. I might just have a look at Yii.

  36. I’ve been developing with Yii for the past 6 months or so and found it to be very good. I was using Zend before this, which I found to be a very well thought out and solid development platform, but found that Yii took a lot of the drudgery out of development. The ability to generate a lot of basic code and to define the templates for this auto generated code, so you are only adding some small tweaks to much of the code, means you can have a complex web application up and running in a matter of weeks rather than a matter of months.

  37. I’m starting a new and long-term project, and I’d love to choose Yii. However it seems that Yii is undergoing a complete codebase rewrite (Yii 2.0). It won’t necessarily be backwards compatible with Yii 1.1 – so ultimately, not a good time to start using Yii! It could spell unnecessary pain in the future when migrating to a newer supported version. Think I’m going to have to go with Codeigniter – not all bad as Codeigniter looks pretty cool.

    1. The good thing about Yii is that you don’t necessary need to upgrade to the new Yii 2.0, whenever that is done. Yii 2.0 tries to incorporate new PHP features to the framework, but Qiang is very careful on its development not to break what makes Yii different from the rest.

      Is always good time to start, learn, code with Yii… Yii rocks! in all areas. CI is a good choice, but you would probably regret in a future why you didn’t choose Yii.

  38. what we can say about WordPress, can we say wordpress as a framework……, I found it’s very easy…

  39. Thank you!

  40. i use yii , it is great ,

  41. paul de zwaan · · Reply

    howabout fuel php and symphony is also miss on this list

    1. parkerandhobbes · · Reply

      Personally speaking I’d eliminate Fuel due to lack of popularity. It’s kind of in the same category as Kohana.

      Symphony looks like a great choice. Unfortunately however, I haven’t had time to get stuck into it.

      Thanks for your comments.

  42. Well written article. I’ve used codeIgniter and ZendFramework in projects. When searching for a frameworks i’ve overlooked yii, simply because it was an unknown. After reading your article I took a look and it seems interesting.

    Like some others on here I do not agree with your Cons for Zend framework. The Zend framework is opensource and free. Zend does sell other products which may or may not be used with the framework such as zend server, zend studio, zend guard, zend certifications, training etc. Actually many of these come decent free versions.

    I dont really see anything wrong with that, they provide a decent products and they enhance the image of php in the eyes of the enterprise world. I believe they should make some money off it. Most of the paid tools are not targeted at individual developers but more to the enterprise.

    If you dont want phone calls or emails from marketing, You can always unsubscribe from the mailing list and not provide your phone number.

    Check out zendcasts.com for excellent community zend based screencasts. This got me up and running with zend fairly quickly

    1. parkerandhobbes · · Reply

      Thanks Darren.

  43. i love your review and totally agree with what you said about zend. and yes yii is gonna rock the future of web development. but if major changes happen in near future it could get things little dicey as in my experience i am also assigned with tasks to do changes in current projects ( My God i hate these stupid changes) , its very disturbing. and indeed the oop is what i really desire to work with. hmm lets see

  44. Re. Kohana: “So, if you want to do even basic things like read and display database information using a model, then the basic vibe is – go figure it out yourself and if you can’t figure it out, tough luck!”

    I really don’t get this. Although I have issues with some parts of the docs, the documentation on the database and ORM modules is some of the most complete in the Kohana userguide that comes with every install (and which includes autogenerated API docs). Here’s the online version, starting with ‘Creating your Model’:

    http://kohanaframework.org/3.2/guide/orm/models

    One of the virtues of Kohana, though, is that the code is ‘self-documenting’ by design. The Yii code is virtually unreadable to me due to the very peculiar, compressed syntax used by its main developer (who seems to have written virtually all of it) that you’ll never see in any other PHP script. The code generation tools are just gimmicks at the end of the day, IMHO. You may as well just install WordPress. Kohana also runs faster than Yii when used in the same envionment, e.g. with opcode cache, memcache etc.

    Kohana does seem to have an image problem, however.

    1. parkerandhobbes · · Reply

      What I said was correct when I wrote the article back in July 2011.

      Recently, however, the folks at Kohana seem to have got their act together and their latest manual seems to be light years better.

      In the near future I’m hoping to rewrite this article from a 2012 perspective. Next time around I see Kohana moving up the charts and Yii getting knocked off of the top spot. But why? Who? Where? How? Well, stay tuned and all shall be revealed.

      Thanks for your comment!

  45. Anyone got recommendations from a new learner’s perspective?

    I just spent a few hours looking through CodeIgniter tutorials and found that very many of them are out of date. This makes learning extremely frustrating and difficult. I really wish that one of these frameworks would soar in popularity like RoR has in the last few years. There’s a huge amount of material out there for RoR learners these days—tutorials, videos, peepcasts, podcasts, etc, etc and all up to date and targeted at different levels of learners.

    Any recommendations for someone who’s just learning? Rather than for someone who’s going to use CodeIgniter or Yii or Zend for their day-job? Which of these would be easiest to learn—ie: which would have the best selection of current resources?

  46. parkerandhobbes · · Reply

    Can I ask you a question, Terry?

    Would you pay for Codeigniter online video training IF the training was really good and guaranteed to get you rocking within, say, one month?

    If the answer is yes then what do you think a reasonable price would be?

    I’m just curious.

  47. Derek McLean · · Reply

    ZF ZF ZF! All the way! Wheeeeee!

  48. Thanks for the nice words on my work. I’m flattered to the point of blushing! I haven’t been able to write as much about Yii lately as I would have hoped, but I am planning on writing an entire book on the framework this year. Thanks, too, for your synopsis of the crucial PHP frameworks!

    1. parkerandhobbes · · Reply

      Thank you!

      I never meant to cause any embarrassment there or over dramatise the general vibe. However, I don’t think I did. The Visual Quickstart guides have been a roaring success story with the vast majority of reviews being five stars (on Amazon) and pretty much every decent book shop in the world selling your book. I live in Scotland and was able to buy a physical copy from my local book store.

      Most importantly, I think that the frameworks world is desperately in need of good writers. Even as I write just now, the Kohana manual (for instance) is still incomplete. Even the most basic concepts are not covered at all and people who want to learn that particular framework are in the dark. Some of the frameworks that I’ve checked out are lacking in any kind of meaningful clear instruction.

      So, when somebody comes along who can actually write and make those frameworks easier to understand then those people are like gold as far as I’m concerned. All it takes is a handful of people like that for an entire community to emerge. The Codeigniter forum, which has over 20,000 members, is built around about ten key people, as far as I can tell. These people are active, hard working and vocal. A lot of the time they work for free. Unlike me, they know what they’re talking about. What motivates them is something that I haven’t figured out. If you took those people out of the equation then I think the entire community would be in trouble.

      So, more power to you Larry. Thanks for passing by and keep on rocking!

      -DC

      1. Well, thank you again. Very nice of you to say. And I totally agree with you about people helping out in forums. I know there is a benefit to it for the person helping (you tend to learn a lot that way), but still, it’s a gracious thing to do to provide free help to strangers. Cheers!

  49. I am a passionate new developer that doesnt even know what Frameworks are, I am just learning PHP and MySQL.

    Searching for the best framework to use, I stumbled upon this site and now iIhave to go with Zend Framework. In my oppinion since Zend Framework is more popular, they will inprove all the capabilities that it lack with time. So I go with the winning team.

    1. parkerandhobbes · · Reply

      Sounds logical to me. Good luck with zf.

  50. I’m a CodeIgniter developer, have been working w/ it for quite some time, this article turned out to be great to me, I mostly agree w/ the David’s statements, and totally agree in regards to CI, and its lack of modularity, a template library and the work w/ PHP native sessions, these features would give it a great boost to consolidate it as the great framework it already is.

  51. Joe Green · · Reply

    Dead right about the Zend community. . . When I first started using it I was ASTOUNDED by the lack of examples, implementation demos and videos for such a well known framework!

    Thinking of spending some time with another framework and I think your article has tipped the balance in favour of CI.

    Thanks for this!

  52. I am user of Kohana.and strongly disagree about community support. Kohana chat room is one of the finest and most active on the NET…. PERIOD. I have gone into plenty of other chat rooms and heard nothing but crickets. I agee with small and elite comment. I dare you to try and find a more active chat room though. And the guys in there know their sh@t! (irc,freenode.net #kohana) And it has good technical documentation. It is NOT a beginners framework. You can find a few tutorials to get you started. And once you get started it is hard to stop. And one of its BEST features is an add-on module called KOSTACHE templating which is something that should be a BEST PRACTICE in PHP. I started it as a beginner it was my first and only framework and I find it to be very under bloated. I do agree with the article author about missing common stuff. So I am likely to try Yii in near future but I will probably abandon it if I can’t use MUSTACHE templating.

    1. parkerandhobbes · · Reply

      Hi,

      The last time I checked (a couple of months ago) the Kohana user guide was still not complete.

      And it’s not as if you have to go deep into the manual to find gaps – there’s holes all over the thing! Even the most basic usage instances are not covered.

      Until the Kohana community sort that out then I will never accept the proposition that it has good community support – regardless of how talented or friendly their chat room is.

      Many thanks for your feedback.

  53. The newbie approach and feedback overview:

    So like most here who’ve come to see how they can make there lives easier, well you’ve delved into php, know it’s awesomeness and read a few books. Tried building your own framework and API and realised how much work it is for one person to keep on top of.

    The first Framework I started out with was Zend, and by god was I impressed, along with your fav IDE and code hinting it made me wonder why the hell I hand’t used this before. Then I realised the steep learning curve and ditched trying to make my own project to build on top of because of time issues.
    I thought, using some one else’s CMS is the way forward, why try and reinvent the wheel when every thing I ever needed or wanted is in one of those many CMS’s out there. Then I found my self spending more and more time just trying to get extensions/components working the way I want them to, with numerous code hacks and tweeks. You come to realise that maybe that time could’ve been better spent understanding the roots of PHP, you’ll spend 4years just becoming an intermediate developer as PHP is so vast.

    Now I see more and more frameworks popping up, I’m back into building from scratch and ditching those awesome CMS’s you can download. For fun and being a bit of a hobbyist it’s good playing around with all the different cms’s and exciting seeing all this stuff you’ve just dreamed of making when you first started out.
    In the real world though, if it’s just you and a few others I strongly advise not to use a pre built cms unless you have very good knowledge in what you’re doing, ie experience php developer.

    So if you’re just starting out use as many tools as possible to help you, personally I found going backwards in the learning curve was quicker, start out with some frameworks you like, see what makes then tick and move onto learning more about the the guts of php as you go along, if you find your self only knowing how to use the frameworks and not the basics, ditch the frameworks for a little wile and go back to basics. A good IDE is essential when first starting.

    The two most important frameworks for beginners have to be Codigniter and Yii, personally I don’t think there’s a better one between the two, both have ups and downs and picking the right one for you, that you’re going to like is very important.
    It’s very much like picking your operating system, some put up with Windows and Macs and are happy with them, others like to build there own and dive right into Linux to unlock potential. There’s no right or wrong here, they’re all very good at what they do.

    If times an issue and you want to build some thing quick and easy I’d recommend Yii

    If you’ve got a little more time and want to make a small/medium mature project use codeigniter.

    IF you actually read all this, well done haha, a small enlightenment I hope, just remember don’t go for some thing you think is the best or has the most hype, go for some thing that’s best for you.
    In this example, a few find Yii best for them, a few find codeigniter best for them, at the end of the day if you’re finishing projects with codeigniter and learning more and more every time you use it stick with it, if Yii is cool but you only seem to complete half a project and find you’re self bashing your head against the wall use the latter ! Same goes for any framework and I hope you stick by what works for you and not what some one else thinks is the best ! Remember you’re the one that’s going to be spending time using it, you’ve first got to believe in it and have ample amounts of enthusiasm for what you’re doing. If not, try another day.

    1. 1mhofu · · Reply

      Couldn’t agree with u more

  54. Hey what do you think about Fuelphp. I think its quite awesome!

  55. I think it’s a fair and good comparison.
    I have been using Ruby On Rails since 2006 and always stick with it. Recently, I have to choose PHP framework for my programmers. I pick Yii. I think i make the right choice, it’s so easy to use, fast, many things similar to RoR. I looked at CodeIgnitor which is very popular but i think it’s lacking, it’s for starter.

    Thanks;
    Chamroeun
    bmsolution.biz

  56. Bill Coker · · Reply

    Great article and it should help many people. THanks for all the info!

    I keep trying to get into ZF. I mean I should as I have a $400 IDE from them that is supposed to make it easy to work with and if I decide to start using it to make money the chances of good employment are higher as mentioned in the article.

    However, what I find in the forums from ZF users and Zend Studio users is a general contempt for both and Zend itself. I also see many comment from official Zend reps that would have me fired if I even thought about clicking the submit button of a similar post.

    This puts me off every time. I’ll keep zend close at hand but I’ll use another framework to keep me up to speed. I’ll also have to leave Zend Studio 8.* in the apps folder but I’ll keep using Netbeans until the clean up the mess it currently is.

  57. I wonder why SF does not even stand in top5. Per my experience and understanding it is the framework which is suitable for any level of applications (small, medium or large). Moreover it has widely accepted documentation, community and support system.

  58. I love how the PHP Community can be so aggressive in defending their framework of choice. I’ve been a software architect for over a decade and I’ve led complex ERP implementations involving different technologies, including .NET, J2EE and more recently PHP and really – whatever gets the work done faster is the right answer.

    There’s no doubt in my mind that the .NET stack (Windows/C#/SQL Server) or J2EE (with Oracle) are from a technical perspective vastly superior to the LAMP stack (except for Linux and in particular Debian which is a fantastic Operating System). Obviously they are expensive and PHP is the obvious cheaper alternative. Large sites like Facebook, Twitter of Foursquare don’t use PHP because of performance issues (Facebook uses HipHop to compile their PHP code so it doesn’t count) so that should tell you something.

    We developed a couple of enterprise apps using Symfony 1.4 and EXTJs for the front end. Symfony is cumbersome and generally slow but it’s good enough. We’ve now been using Symfony2 since it was released last summer for a new application and I can tell you it’s been a complete nightmare. The documentation is weak, the framework is full of magic, there are bugs everywhere and there’s no out of the box support for Ajax. The framework has become so bloated it’s ridiculous.

    And that’s how I found your blog entry; I am considering switching to another framework. I think you did a great job summing up the various options and thank you for that.

    1. Define “technical perspective” for us if you will.

      1. Sure, here are some of the main points (Apache and Linux are excellent, I am mostly talking about PHP and MySQL):

        * Language:
        – From a pure language perspective, C# and Java are very similar and a lot more robust/better structured than PHP (variable typing and its implications is a prime example).
        – For SQL, I would say that PL/SQL is the best in terms of structure but T-SQL has been getting better (For instance you can develop extensions in C# to create new T-SQL functions such as GROUP BY). In comparison, the SQL language used in MySQL is very primitive.

        * Performance
        – Java and .NET are pretty close while PHP lags behind; primarily because of JIT compilation. Of course you can compile your PHP code like Facebook does, but you’re adding another layer of complexity. A member of the PHP dev team and Zend advocate told me a couple of years ago that PHP should only be used as the presentation layer of the application, not the business layer because of performance issues (and also transactional issues particularly important in enterprise applications). He recommended Java for the business layer.
        – You can find database benchmarks on the web (tpc.org). It’s still Oracle > SQL Server last time I checked. Simple stuff like multiple joins or correlated subqueries for which I wouldn’t bother building indexes on SQL Server/Oracle take minutes or crash MySQL.

        That’s why I was saying that from a pure technical standpoint, PHP and MySQL are inferior. However, I have a startup and they were my first choice. Why? Because unless you get to the Twitter/Facebook/Foursquare size they still work perfectly fine and they are *free*. I am starting to think that choosing Symfony2 was a mistake though; I am going to check out Yii.

  59. parkerandhobbes · · Reply

    The only person being aggressive here is…

    You!

    Oh wait, it’s not you – it’s… ME!

    Your framework sucks! Bahhhh!

    1. Not sure if I understood your reply. Just to be clear, I found your comparison and ranking very informative. When I said “aggressive” I wasn’t referring to you but to other people replying and defending their framework of choice. I personally use whatever gets the job done faster and cheaper.

      1. Ben, your approach doesn’t make you a good architect IMO. Generally speaking, “hard-coding” gets the job done faster and cheaper, it can’t be used as a rule in choosing your stack.

  60. parkerandhobbes · · Reply

    Oh I was just being silly. Take no notice of me. Although, I wasn’t entirely sure what you meant when you suggested that my blog was bloated but I guess it doesn’t matter.

    Thanks for posting here.

    1. He was referring to Symfony2 as bloated. “The framework has become so bloated it’s ridiculous.” The original post and the comments are quite informative.

  61. Awesome article! 🙂

    Unlike most people I started with the hardest way in regard to PHP frameworks. My first choice was Kohana 2.x and I love it! It’s a really awesome stuff! I use it when I was taking my Computer Science Degree. I wasn’t exactly the most passion people about PHP but Kohana change that! But in the end I have to agree with you. It was awesome for academic purposes, where we have time and freedom to look around. When it’s up to business it’s impraticable to use Kohana because there’re constantly new versions coming out without any documentation.

    I just have to ask you why don’t you give more credit to Symphony 2.0? Like YII it offers the CRUD feature and much more. Right now I’m in doubt between YII and Symphony 2.0. They’re the best PHP frameworks at the moment and the most promising to the future.

    Thank you for share this article with us 😉

    1. I mentioned Symphony instead of Synfony by mistake. Sorry for that guys.

  62. Great article!
    I definitely agree with Yii first place… To me Yii is just fantastic, it does everything a good framework should do and, in addition, it’s fast and simple.

  63. Great article. Hats off David – I have been trawling the web looking into what code-based framework I should start learning and your article is well formatted.

    Many years ago when I was looking into getting a professional job; you didn’t need to have any framework experience or be using OO at all. Apart from ZEND! The big bucks were for developers that were ‘Zend Qualified’.

    These days, I see most professional jobs requiring some sort of Framework experience. These include Zend, Code Ignitor and Kahona. CakePHP seems to have fallen off the map. Others include Drupal and Joomla.

    I agree with your Zend statements in way of someone approaching the Zend Framework as a newbie. Personally I have never used it.

    Yii is brand new, which I discovered a couple of months back. The IRC community is strong and documentation good. I see people raving about it everywhere. It seems like a very strong contender.

    On a final note. I think learning Zend will be beneficial in terms of job prospects. Yii has also been designed to allow Zend components to be used without obstruction. So it’s a win-win if you go either way.

    Thanks again!
    Amarjit

  64. Incredibly detailed, thorough and unbiased article. We’re in the midst of beginning a SaaS project and having used our own custom framework, realize the limitations of using this approach for a larger business project. We’re trying to select a PHP framework that is tested, tried and true. Currently our short list is Zend (which we’ve used before and agree with your assessment), and Yii. After sharing this article with my business partner we’re heavily leaning towards Yii (yours isn’t the first article we’ve come across that puts it ahead of Zend, albeit for slightly different reasons).

    All the best and thank you for taking the time to write!

  65. Chris Bulmer · · Reply

    Fantastic article. I personally have only started using frameworks very recently and started using cake. You neglect to mention that cake has a brilliant “bake” functionality. It allows you to very quickly develop web applications by creating controllers, models and view (and more) for basic CRUD using auto-generated code.

    However, I’m a strong believer of that once you get into the mentality of using a framework it isn’t TOO difficult to get to grips with another. So whichever one you pick, it’s still going to increase your employment prospects

  66. Nicely explained post. thanks for sharing…

  67. If Kohana is on the list, then I’d say Fuel defiantly should be… Fuel has all the advantages of Kohana (hmvc, modular, packages) but with an extremely active developer community. With the upcoming release of depot (a composer based package system and site) I honestly believe it will become one of the most popular frameworks.

  68. Barbara Assante · · Reply

    March 30, 2012
    Hi All,
    We have a job opening in NYC for:
    High performance / extremely scalable SaaS web application architect and developer.
    Expert proficiency in:
    * Node.js
    * mongoDb
    * VoltDb
    * Software Architecture & Scalability
    * High performance MySQL
    * PHP (Zend, Yii, Cake), Ruby on Rails
    Salary: $180K
    email
    barbaraassante@yahoo.com asap

  69. apathetic012 · · Reply

    I think FuelPHP is a good choice for a framework as well.

  70. Thanks for the review..
    I have a few months build a website with your runner up framework (Codeigniter)..
    Now, i’d like to learn and develop web based application with Yii..

  71. erkasoft · · Reply

    I’ve used symfony(1), codeigniter, kohana in my projects. My last choise is Yii! Yii is enough for me. I created new 2 ecommerce apps, refactored old apps writen with kohana, ci. I don’t return back. Your article is very informatiove.

    Thank you

  72. alantonilopez · · Reply

    Great Article. Since a few weeks following a framework called Phalcon. It is written in C achieving high performance (even higher than Yii or CodeIgniter). Moreover, it lack of community and its documentation is very weak.

  73. Kohana, Yii? These frameworks are toys. The best PHP framework of all times is Symfony 2 man.
    Maybe even the best from all nowadays frameworks.

  74. ‘Which is the best framework’ is a pretty silly question, as none of them are terrible, the best advice is for people to try them and find which one(s) they click with as they will be spending a lot of time working with it.

    For me, I dislike the Cake / Yii magic behind the scenes approach, if I want that .net, RoR, etc do it much better, I also disliked the Yii dishonesty over benchmarks, I realize they have to market it, but the benchmark thing was pretty pathetic.

    As for Codeigniter, it seemed the worst coded out of the lot and still basically used php4 (as did Cake) when I was looking at frameworks, which left the two I use (for PHP), Kohana does indeed have a sucky community, it also gets updated far too often, but on the other hand it is clean, well coded and relatively barebones (which gives a certain degree of flexibility that I like).

    Zend also appeals due to its flexability, you can go from using it as a full out framework to just using bits of it more like a toolkit.

  75. YII is the best php framework . It have automatic code generation tools name GII, and its produces very good clean code.

  76. cgoenner · · Reply

    From my experience with this frameworks imcould follow all your words but i was disappointed to read you did not work with yii. Cakephp is a beginners framework but lacks on thin models and a scrap view structure, exactly as you wrote the community driven sparks are a weakness, its not made with an aechitectural goal but developed ver years.

    Fuelphp is a great approach not to overload a framwork but give the developer a very dry frame to work. Its closest to my own approach, it feels natural to mee. Maybe its worth a try for you also.

    However, yii looks promisingly good of course.

    Cheers
    Chris

  77. […] did some research over the internet and found some links like this and this and even this which specifically point to me that I either use Yii or […]

  78. […] or check these links:    https://davidjconnelly.wordpress.com/2011/07/03/the-best-php-framework-of-2011/ […]

  79. Matthew Schenker · · Reply

    Thank you for the terrific comparison. I’m in the process of moving my development work to a framework (have been using Joomla for three years). Theway I see it, it’s a close call between CodeIgniter and Yii.

    Just wondering, any chance for an update here? I would be very interested to hear your thoughts now that Yii and CodeIgniter have had another year of development profress.

    Thanks again!

  80. Nairit · · Reply

    It was interesting to read David’s comparison of Yii, CI, Zend, Kohana, Cake. I am into PHP for 10 years. I spent last 1.5 years with Cake PHP in my current work place. I must say I did not like Cake from day one. I cannot come to terms with Cake’s Forms helper, input name based validation rules, rigid case sensitive naming rules, etc. The relations created in the model(has-many, has-one) that emulate join queries have been praised in some other discussions on Cake PHP that I read on-line. Again this is a feature I dislike. As your page grows complex and you have to join 5-6 tables in the DB, you find that these relations are more a head ache then a simplification. They spit out huge arrays that are a major reason for slow running of Cake PHP pages. In such cases I used to write direct join queries using $Model->query(); which made the page execute faster. So what is the point?

    Even before I read David’s comparison I had started picking up CI. Yii sounds interesting. Any way thanks again David!

  81. Matthew Schenker · · Reply

    I am still “shopping around” a bit with frameworks. My favorites at this point are CodeIgniter and Yii. I’m also looking at Laravel. I’m still quite open to all the possibilities, so I’d be very interested in hearing updated responses to the Yii/CodeIgniter comparison.

  82. catana · · Reply

    thank you very much .. that’s very thoughtful and helpful of you ….!

  83. A valuable article. Been wondering about the framework vs ninja approach and what others say.

  84. I’m surprised at some of the comments about Symfony. I picked it up very easily and quickly and didn’t find it overcomplicated at all. I approached it right after learning and using Yii for a while, so that probably gave me a helping hand. They’re very similar in many respects. One thing I found unusual about Symfony at first (coming from Yii) was the way the models are generated from yaml files… but after using it for a while I found it a much more intuitive process as it’s easier to conceptualise the models and their relationships to each other as objects from the outset. This is not to disparage Yii. I think it’s a truly excellent framework for rapid application development.

    I have a little experience with CodeIgnighter and didn’t like it at all. That may be due to a personal preference for the RAD configuration over convention approach, but also it just had the feel of some old version of Smarty about it.

    Recently though, I’ve been learning Symfony2 and IMO it is hands-down the very best framework around. Symfony seems positively clunky in comparison. I think it hits a perfect middle ground between “configuration over convention” and the kind of flexibility a looser framework like Zend offers. Plus, the Twig templating engine is the best I’ve used too. My guess is that the yet to be released Yii 2 will take a lot from the direction Symfony2 has moved in. I’m really looking forward to seeing it in action.

  85. Thanks for very frank analysis. You seemed unbiased in your reviews, mostly X framework fans try to justify it inspite of all its cons.
    I know CI, will try to have a look at why Yii overpowers it.

  86. Matthew Schenker · · Reply

    Pappa,
    I read the entire manual for Symfony and did some prelimiinary work with it, and at the same time was learning Yii and CodeIgniter.

    It’s probably based on my background in creating sites out of “pure PHP,” but something about Codeigniter seems closer to “just doing PHP.” I was able to more rapidly build a site with CodeIgniter. By contrast, Symfony felt to me like it was kind of foreign from “pure PHP.” Not sure if this explains things well or not. Maybe I did not give Symfony enough of a chance? From my reading of the manual, Symfony does seem like a great framework.

    I wonder if others feel the same way? I also wonder if others felt this way about Symfony when they started out, but then got over it!

    Thanks,
    Matthew

  87. Joel Joel Binks · · Reply

    Hi Everyone,

    I am curious if anyone has moved a WordPress site over to a framework like Zend or Yii. I am an entry level dev doing some work for a company with a heavily modded WordPress site and I was curious about people’s experience in the migration process. If moving to Zend or Yii helps with collaboration as well as improves the development process it would be very helpful for us.

  88. drpappa · · Reply

    Matthew, I agree with much of what you’ve said. CodeIgnighter is like doing it the “pure PHP” way, it’s very easy to pick up and quick to use, but then you’re left to do a lot of coding yourself. It takes a while to get into the mindset of a framework like Symfony or Symfony 2, but IMO the work involved in learning the conventions is really worth it as once you’re familiar with the framework you can quickly knock together applications that are much more feature rich with a lot less time spent coding. The bundle aspect of Symfony 2 is also pretty amazing. Once I got my head round it, I found that installing new bundles takes almost no time at all, and they’re ready to go out of the box. You can also extend and override them very easily without touching their code. I found this tutorial very useful for getting me started: http://tutorial.symblog.co.uk/

    Also, I’ve just been looking at another contender not mentioned, Lithium. It looks very interesting.
    http://lithify.me/

  89. Esteban · · Reply

    Hi David, Thanks for your great post!! trying to decide what framework to use and I was wondering if you still think the same about this frameworks.

    Thanks for your feedback!

    1. parkerandhobbes · · Reply

      Hi

      Thanks for your positive feedback and your question.

      The answer is, I don’t quite feel the same any more. Although everything I said about Yii’s features is true, the actual code for writing Yii applications is difficult to read. So, these days I’d have Codeigniter in first place. It’s not perfect but I think it’s easier to work with than any of the other frameworks.

      I would also ditch Kohana from the top 5 since they still don’t have a manual.

      Two other frameworks which deserve to be in the top five these days – in my opinion – would be Symfony and Fuel.

      However, I happen to think that we need a new PHP framework. But that’s another story.

      Thanks again. Stay cool!

      -DC

  90. This post and the subsequent comments got me googling for what else is out there. I came across a framework called Agile Toolkit. After reading about how it works I realised that there is something missing from most of the popular frameworks… the ability to easliy build standardised and customisable UI elements, something that Agile Toolkit is built to do. I wasn’t that impressed with most of the rest of Agile Toolkit’s features and functionality, but that one aspect of it would be a real benefit to other frameworks.

    Also, this discussion/argument is pretty funny: http://agiletoolkit.org/blog/which-php-framework-is-the-fastest/

  91. Symfony 2 is not a simple framework, it’s a great application framework. it’s a J2EE platform but written in PHP5.3

    Try it and you will feel the difference…

  92. elijah · · Reply

    How do I download zend or yll framwork tutoria

  93. Before going into “Why We Need a New PHP Framework”, I like to say a big thank you for creating this thread. Although your original content is no longer relevant after so many comments from your fans, I still find that they are useful information as a whole, for new starter to have a think about which framework to used. I went ahead with ZF2 as start then find that the document and support is kind of sh@t, so I am trying S2 at the moment. Someone mentioned about SF/S2 has horrible configuration issue, i.e. you do more configuration than coding. I have no doubt about that at all. I may actually have a look at Yii and hope it does not disappoint me

    1. parkerandhobbes · · Reply

      Thank you. I can see that this article is currently ranking high on Google for ‘best PHP framework’. So, I have just updated the article. Thanks for your comment.

  94. Great post… very informative.. and it was very useful due that im planning on developing a CMS based on a PHP framework… just one question.. is Yii open source? In that case I think I would develop it in Yii… 🙂

  95. Just curious as to why you didn’t include Symfony2? Have you used it before?

    1. parkerandhobbes · · Reply

      Hi, I said a few words about Symfony2 near the bottom of the article. 🙂

  96. David,

    I must have skipped over that part. I have a team of programmers using Symfony2 and I have asked them which framework they prefer (they have all used Zend, Code Igniter, Kohana, Cake etc…) and they all said Symfony2 because it’s best for teams and utilizes alot of cutting edge technology.

    Good blog by the way, very informative.

    1. parkerandhobbes · · Reply

      That’s brilliant. I wish I could hang out with you folks for a few months and learn it. As far as I can tell, there’s a reasonable chance that Symfony2 might end up becoming THE framework of choice in the near future. You’ve definitely made a good choice. Anyway, good luck and thanks for the comments.

  97. Matthew Schenker · · Reply

    Picking up on the discussion with Symfony vs CodeIgniter…

    As I have mentioned before, if you come from a “pure PHP” (i.e., non-framework) background, it’s a pretty natural leap to CodeIgniter. But Symfony seems like a larger leap. For those of you who use Symfony, how did you make the leap from “pure PHP” to Symfony? Did you use a more “natural” framework first, then work your way to Symfony?

  98. Symfony 2 really is a great framework. Its version 2.1 integrates composer and the install of all dependencies of a bundle are managed by it.

    Sensio Labs is mading a great work with integration of the DIC in the core of Symfony.

    Using Symfony inside a team makes developpement very easy. Symfony 2 forces the use of PSR-0, PSR-1 and PSR-2.

  99. I am a Drupal developer but nowadays I am getting bigger projects which Drupal cant handle (drupal is slower than any cms out there but still i am a huge fan 🙂 . So i was considering moving to framework and came to this post by gogling. Now i am confused , Symfony2 or YII?

    anyway thanks for great writeup .Hope i can see a comparison between YII and Symfony2 in near future. Subscribing..

  100. CodeIgniter is weak. Once I started using Yii I suddenly realized it could be possible to have a fairly complex application written in a matter of days. I don’t know of any other framework that can claim that. Symfony looks interesting too. I’ve tried just about all of em now, CodeIgniter and Yii are the only ones I ever really took to liking much, and Yii blows it out of the water both in ease of use and power.

  101. Tim Hawkins · · Reply

    Guys, checkout phalconphp , its an mvc framework for php, that is implemented as a php extension and written in c++. Its blisteringly fast. The class structures feel very Zend like, and it has recently announced support for mongo in its orm.

  102. Great article! Thanks a lot!

    I prefer to use Yii and recommend it for beginners. The reasons:
    1) its easy and competable http://www.yiiframework.com/about/
    1) has a clear documentation http://www.yiiframework.com/doc/guide/
    2) there are a lot of extensions like:
    bootstrap http://www.yiiframework.com/extension/bootstrap
    backvendor http://www.yiiframework.com/extension/backvendor
    EGMap 2.0 Google Maps Extension http://www.yiiframework.com/forum/index.php/topic/14445-egmap-20-google-maps-extension/
    etc.
    3) high community and lots of examples

  103. great information

  104. srikanth ganta · · Reply

    Reblogged this on Srikanth's Blog and commented:
    Add your thoughts here… (optional)

  105. Reblogged this on Antonio Musarra's Blog and commented:
    Interessante articolo. Ho scoperto l’esistenza di un framework che non conoscevo, in più non mi sarei aspettato un terzo posto per Zend. Buona lettura.

  106. I have been using CodeIgniter for a few years, I feel that I have just out grown it in a few ways. The projects I work on require things that I feel are just a little out of scope for CodeIgniter. Although, I still use it on a few old projects.

    I have been working with FuelPHP for a about 6 months now and I have to say there are some very clear problems which you don’t realise until your half way through a large project, minor things but there are lots of them… Too many to name but I will summarise the ones I have had issues with just this afternoon!

    Firstly, the migrations are manually appended with 001, 002 etc but working even in a small team we have had some major problems where migrations with the same number were accidentally committed and the DB would have major issues going forward.

    Also the documentation in places has wrong details about functions within classes.

    Don’t get me started on the ORM! Its too restrictive, we as a team found that Fuelled was dictating how our database was structured instead of adapting to the schema. There are points in our code where we are forced to not use the ORM just down to the limitations!

    Laravel is a framework I have started using and although its early days I personally think its better than FuelPHP and CodeIgniter.

    1. parkerandhobbes · · Reply

      What did you find the easiest to learn – Laravel or FuelPHP?

      1. Good question. I would say it took me less time to get used things with Laravel, everything just feels very intuitive whereas I am still to this day checking the documentation for FuelPHP.

        Too many inconsistencies with FuelPHP for me to be able to say “I know FuelPHP”.

  107. Not sure why you need an add on to use sessions for CI.
    I see Zend as a library, lol. (Usually using Zend library on CI, cause Google API said so.)

  108. Nasrullah Shamim · · Reply

    CodeIgniter is Simple & So easy for rapid project development

  109. I think knowadays Yii is getting good overall rating. I found it mentioned in many lists. But the way good article filled with knowledge

  110. If you think CodeIgniter is the number one you should try this one:
    https://github.com/ScavixSoftware/WebFramework

    Really cool!

  111. The Zend is a web program framework developed to make developing complicated PHP centered web programs simpler.

  112. excellent information.I would like to go for codeigniter as it is good for rapid development.

  113. I love Code Igniter, it is simple and intuitive. It feels so natural. I hate that Cake made it to your list. I hate it with a passion.

  114. Symfony2 is GREAT, just don’t use it with an ORM like doctorine2 because you will have no performance

  115. Raheel Shan · · Reply

    Well that’s great you have expressed your views. But i would suggest you update your blog with Laravel included. Do see laravel 4. It seems best.

  116. […] spoken here about server-side. Here I see the situation less convoluted. PHP (and its excellent frameworks) are a popular choice. ASP.NET, especially the MVC3 flavour, is another good choice, though still […]

  117. Symfony2 , Zend 2 or Laravel 4 ?

  118. Thank for sharing you are good information provide use from this blog .

  119. […] The best php framework | david connelly’s blog […]

Leave a reply to robregonm Cancel reply