Jan 18

symfony-logo.gifThanks to a great mentor (Greg) in my starting days of web development and a strong background in Computer Science from several excellent professors in college, I had a good start at web development a few years back. My original skills for PHP featured an Object oriented approach, secure validation & error reporting, some nice Pear DB functionality (with MYSQL), and the Smarty Templating Engine. My skills and knowledge regarding PHP have continued to grow each day (especially regarding efficiency and security).

Recently though, I began playing with the big new talk of the town: Ruby on Rails. I have to admit, the process hasn’t been as easy as I thought. Most of the slowdown revolves around the fact that I don’t know Ruby all that well. Combining a totally new realm of development (the Rails framework) with a new language makes the switchover difficult for me. Regardless of the difficulties, I certainly see the power of Rails and understand how it’s framework can make the development process amazingly more agile and efficient.

With that being said, at Consumer Testing Labs we’ve been talking extensively of doing some major changes to how we code. We thought it would be a great idea to implement a standard templating system (like Smarty) for everyone to use, develop some internal libraries that all the developers could agree on and use frequently, and even strong rules on everything from coding practices to directory structures to design patterns. I think we all sorta hit a no duh moment when considering how to implement all these ideas effectively: a PHP MVC framework!

The discussions at work piqued my interests enough to send me on a quest of nightly rituals over the last week or two discovering, testing, and playing around with the nearly fifty frameworks that currently exist for PHP. Ok, I didn’t try them all out, but I did try out the best of the best according to my reading (and the ones that seemed to fit into the MVC layout). After tinkering around with CakePHP, Zend Framework, and Symfony, I did a lot more reading on these types of agile development packages.

Here are my conclusions on things at this point in time (01-17-2007):

CakePHP: Had a great basic install and easy to implement first run of things. I really liked being told what to do from the Cake code itself. Sorta like a wizard. Getting into more advanced coding had me pulling my hair out though. Mostly, the documentation was at fault – but not that it was all lacking. I just thought it was sorta scattered and hard to follow. Some tutorials I found helped a bit, but I was still left confused much of the time.

Zend Framework: Where do I begin? I had an icky feeling from the get-go with this thing. First, I’ve been a little off put by Zend for trying to commercialize something that has for so long been open-source… at least for the most part (PHP). In my opinion, the problem with the Zend Framework is that it appears to be a half-hearted attempt at a framework. It seems like it’s more like a collection of libraries than a true framework. When I compare it to Cake and Symfony or even Ruby on Rails, it just doesn’t feel quite right. There are lot’s of specific reasons I feel this way, but anyone’s attempt to convince me otherwise would simply be futile, heh. I don’t think Zend would ever be the type of framework I would want to use on a daily basis (at least until they make some major revisions or enhance it a bit more).

Symfony: If you hadn’t guessed it yet, Symfony was the winner in my book. I saw a lot of true similarities here between it and my reference: Ruby on Rails. Now, don’t get me wrong; it isn’t a straight-up clone of Rails, but the good parts are all there. So what does this mean to me? It means I get to use all the power of the Rails framework (albeit a tad different) without having to learn an entire new language (Ruby). It’s the best of both worlds!

So, if you are out there looking for a well-rounded and properly executed PHP web framework, be sure to check out Symfony.

UPDATE: I have actually changed my mind! Please read this, this, and this.

104 Responses to “The Best PHP Framework: Is Symfony Really It?”

  1. Anonymous Says:

    Only wusses need a framework. Seriously.

  2. Anonymous Says:

    Call me a wuss then. It will be a God-send for companies that have problems with code diversity amongst programmers.
    I think it's also nice to stop re-inventing the wheel everytime I start a new project. I guess that's just me though.
    - Dustin Weber

  3. Anonymous Says:

    I completely agree with your comment in regards to the “wuss” name-caller.
    I found your site by looking for similarities between RoR and symfony. I know php, and now symfony.. and all i've been hearing about is RoR, and just watched some videos. I don't think i'll be jumping on the RoR bandwagon, since I think i can make some great use of my symfony knowledge.
    Take Care,
    Joe F

  4. Anonymous Says:

    Hmm, a Symfony expert.. perhaps you can persuade me to choose Symfony over CakePHP (you might understand better after reading this article I wrote on CakePHP).
    I had a lot of headaches after really delving into Symfony. Have you had a good time using it?
    - Dustin Weber

  5. Anonymous Says:

    This article seems to have written by someone without any knowledge of high level programming paradigms and design patterns. The writer uses MVC as if it in itself is a framework: “half-hearted attempt at a MVC”, “a collection of libraries than a true MVC”
    MVC is not a noun to be used with the indefinite article (a, an). It is a design pattern that have been around long before php came along. There are many interpretation of MVC and Zend has interpreted in their own way.
    The writer is encouraged to read Design Patterns by the gang of four.

  6. Dustin Weber Says:

    Well, to be honest, I was just using ‘slang’ and shortening MVC framework to just MVC. I guess that threw you off, so I fixed it.
    I agree DP is a good read.
    Thanks for the feedback.
    - Dustin Weber

  7. Joep Moritz Says:

    Zend makes great use of the OO features of PHP5 in their implementation of MVC. You can extend it and add plugins at many different places. Looking at the documentation Zend looks more like a glue framework than a full stack one (see http://www.littlehart.net/atthekeyboard/2007/05/30/glue-vs-full-stack/ for a nice blog about the differences), but it does implement all those things that Symfony does (as far as I could see in 20 quick minutes).

  8. chris neglia Says:

    In evaluating frameworks, look at code documentation, performance, simplicity, security over ease-of-use necessarily. If possible, find one with high level functionality such as users/groups support. One can assume that most DB driven web apps need users (accounts), without which it’s not really a web service or it’s a info-drop site. So evaluate how easy is it to build say, users, from the blocks a framework gives you. Also, consider that DB-driven sites have some combination of 1. users, 2. tags (item- keywords, categories, a taxonomy of some sort), 3. search, 4. items/content/articles, 5. groups, 6. permissions, 7.messaging, 8. transactions. How easy is it to implement that stuff with this new and improved framework?

    All frameworks provide utility functions like dates, url parsing, pathing, breadcrumbs, etc, and everyone and their mom thinks their way is the best. These things don’t really help you because you might as well make your own framework so you understand it best. Frameworks at present are a grab bag of these utility functions. Certainly, there are few ways to do these things best, and it’s called the briefest, most secure, simplest, fastest code. Once that is established, Frameworks need to work towards higher level abstractions such as users, groups, messaging, etc.

    They also need to include a good suite for providing test-driven development and QA. This is something I’d be very interested in seeing.

  9. Aaryn Says:

    “Only wusses need a framework. Seriously.”

    OMG, does someone out there really think there is any level of “toughness” in building web applications? And if it’s for “wusses”, why the hell are you looking for articles on it in the first place?

    The best response to that is “Only an idiot never looks at ways to embrace new technology to increase productivity”. If you run a business, you are doomed. If you don’t run a business, this is probably the reason why.

    Stick with hand coding muscle-man, I’m gonna give Cake a shot and see what effect it has on output on my next project. I’ll use the extra profit to extend my gym membership to make up for my “wussiness”.

    Thankyou for taking the time to compare them Dustin. Not many people try multiple frameworks for more than a few days, it’s hard to find decent comparisons.

  10. SE Says:

    I use Zend Framework a lot lately and I am very happy with it.
    I find it to be quite a good framework and I use it specifically for routing requests and organizing my code flow. I’ll admit that the earlier versions left much to be desired, but with the new release I am very happy. I still do not use their template engine since I find smarty much easier to use and more powerful. I also like the idea that the entire application is object oriented using php 5. This makes the coding standards easier for me to manage when I have more than one person working on a project. I would like to see something that can generate a lot of the code for the zend framework based on m database schema if anyone knows of something that could do that.

    As far as symphony is concerned: I do not know much about it. so i would be interesed in hearing from people that have used both zend framework and symphony to make a point by point comparison.

  11. Djilali Tabbouche Says:

    chris neglia: totally agree here.
    I was looking for the exact features you listed and gave a try to Django
    I’m not keen on RoR mainly for configuration/tuning complexity when you want to insure performance (scalability) and ease on maintenance.
    Django is quite young but gave me some headache during testing phase.
    And PHP (without any framework) lacks the proper environment to provide RAD and flexibility.
    I will give a try to Symphony but want to know what development platform are you using.
    Thx

  12. Emil Ivanov Says:

    I’ve been using Zend Framework for some time and I’m quite happy with it. It’s a glue framework, not a full-stack making it easily expandable. Their view currently lacks some features (layouts for example), but v1.1.0 will support them. Also the ORM idea of Row/Table Data Gateway doesn’t work very good, but, because it’s a glue framework you can just grab Doctrine, stick it to your /library folder and… hey.. you got an Active Record support.
    Regards.

  13. jmark Says:

    Akelos appears to be promising and a good Ruby on Rails clone
    http://akelos.org

  14. ferisoft Says:

    You can try Codeigniter – > http://codeigniter.com
    Its good lightweight framework. I am now migrating from it to symfony but i am sure i will continue using it as its one of the fastest php frameworks and is ideal for small jobs like blogs, little shops etc. It provides great documentation and ideal classes for everything. Really it deserves a look. However symfony on the other hand provides a lot of generators which really is what a framework should be targeted at – reduce coding time. Its true its large framework with lots of pear stuff but i am sure it has future and now with propel 1.3 it will get better and better.
    But for those who want an easy approach to MVC codeigniter is for you ;)

  15. Baz L Says:

    Cake is lovely, I don’t know how to put it any simpler.
    I’ve tried the others and they just took too long to get running.

    To the “read man” that doesn’t use Frameworks…..enjoy…that’s as nice as I can put it.

  16. lee wood Says:

    I have made a website to compare all kinds of PHP Frameworks.it is http://www.phpframeworks.com/,you can sent your point of view.and to view vote for your familiar php frameworks.

  17. Hippie Pink Says:

    I found the best php5 framework to be PHP on Trax. It has all the easy of Ruby on Rails, without the ruby and far better than Cake, Symphony, Akelos, or Zend. Check it out http://www.phpontrax.com

  18. rvdavid Says:

    Thanks for the write up, I’m actually waking up from 2005 where everyone was making frameworks :) – myself included.

    I have made the decision to shift all projects to a prebuilt framework due to the way the framework landscape looks like at this point in time. Everything’s a little more mature and stable.

    I might be leaning toward zend, but after reading so many good things about symfony, I’m thinking I might give that a try first.

    Thanks again.

  19. tom Says:

    I started to use Django (a python framework) a few months ago and I am very impressed by its ease of use and power.

    Concerning the PHP framework, of course Zend, Symfony and CakePHP are the most popular but don’t forget CodeIgniter and Prado

    A good start to compare web framework activity, notoriety and maturity and get some links to tutorials and web resources :

    http://www.therightsoft.com/softwaretechnologies/webframeworks/?languageid=4

  20. EenOog Says:

    Guys it is all about time to me having to learn a new language coming from vb vbscript side of programmimg i think using a ramke work is cool also from ther you have more time to move on to the important things. keep up the good work well done and thnx a million

  21. louis Says:

    thanks dustin for writing this (do you still read comments from old posts? :-) and thanks to the posters for your suggestions.

    i’m a ruby and ror guy who finds the latter a bit much sometimes (too much magic, so i’ll probably move to merb some day soon), but recently i learned php and wanted to find something that takes advantage of oo in php5. your article and everyone’s comments (ok, except one) were very helpful in my foray into php.

  22. อะไหล่แอร์ Says:

    i love cakephp and symfony so much.

    but in my country don’t know this framework to much.

  23. Zend Framework vs. Symfony vs. CakePHP Says:

    [...] read more | digg story [...]

  24. giulia » Blog Archive » Zend Framework vs. Symfony vs. CakePHP Says:

    [...] read more | digg story [...]

  25. tuxg Says:

    Hi,
    Now that six months have passed, can you relook at Cake and Symphony and suggest us which one is better as of today?

    Thanks a lot.

  26. Zend will win it « Working from NW10 Says:

    [...] looking around I found this blog post. This guy ended up choosing Cake but in this post he recommends using Zend and I agree. For a start [...]

  27. Fahim Ilyas Says:

    I think Symfony is good, properly documented and supports agile development. Symfony really solves all the problems you can have when you start from the scratch. Having said that, you may not need a framework if your project is small in scale and the requirements are freezed (not often the case). People who are against the use of a framework can experiment by starting from the scartch. We must all pray for them :P

  28. Johny Says:

    I think the advantage of Zend is that it is more flexible so easier to use for existing projects while i would use symfony for projects which u have to build from scratch

  29. Johny Says:

    I think the advantage of Zend is that it is more flexible so easier to use for existing projects while i would use symfony for projects which u have to build from scratch

  30. aityahia Says:

    what do you think about Prado ?, i have never use a Framework and i am looking for a best one.

  31. Dustin Weber Says:

    EVERYONE

    This post is very old at this point. CakePHP has changed immensely since I wrote this article and things have gotten much much better. I would recommend you learn version 1.2 (it is in RC2) and you’ll get to learn the best php framework by far.

    Thanks,

    Dustin Weber

  32. Raj Anand Says:

    Zend V/S Symfony is a good debate. Kwiqq a social networking agency based in Brighton, UK. working with clients like Oxford University Press, Thomsons Holiday, Hansard society etc have decided to not use Symfony for future client projects: http://blog.kwiqq.com/2008/08/12/announcement-bye-bye-symfony-hello-zend/

  33. muneefvc Says:

    where is code igniter ???????

  34. anonymous Says:

    > where is code igniter ???????

    pffffft CI sucks. Don’t be a pussy – use the Zend Framework!

    Zend gives you the freedom to develop your own solution around a robust library. They provide you with default usage, but it’s up to you to develop extra functionality.

    I’ve got a couple of ideas regarding what I want to do with ZF and I had been juggling around with what Zend can do and what Symfony can do – I was put off by symfony’s bloated model layer. I’m going to read Raj Anand’s link ready to give him a hi five if his post agrees with what I’m thinking.

  35. Jon Says:

    If you like simple and wizard style framwork, try this one, http://www.amhulio.com, its in widgets style~ quite interesting

  36. Tôi học Framework - Phân nửa sự thật… Says:

    [...] http://www.dustinweber.com/cakephp/the-best-php-framework-is-symfony-really-it/ Published in PHP Tags: CodeIgniter, framework, PHP [...]

  37. ajmacaro Says:

    ive read your article back in 2007. and i was so disappointed
    that you dont like cakePHP due to lack of documentation and
    such. But i am pretty sure, youll come back and you’ll realize
    what is the best framework out there. it is cakePHP.

    And now, did you realize that even without documentation,
    it was very easy to find solution. Google groups, #cakephp in
    ircnode, and blogs, and more… and yes, cakePHP is so alive
    you can see activities here. https://trac.cakephp.org/timeline

    -AJ MACARO

  38. Shawc Says:

    Yii framework is a full-fledged framework that is written in strict OOP and provides a richer feature set than most of the frameworks referred above. And an additional advantage with Yii is that it has much lower overhead than its peers.

  39. bibo Says:

    So a web framework has to be performant but as many of you knows, 85% of time spent by your users waiting for a webpage is spent outside the framework process. See http://www.stevesouders.com/blog/.

    As a result, what i want from a framework is no bottlenecks but an efficient, elegant, coherent and understandable API. So that my worl is more productive.

    See http://jelix.org

  40. apache2 Says:

    Before trying any framework, use some time to test it’s performance, to be not disappointed at 50% of your project.
    I was VERY disappointed by cakephp’s 1.2.x performante, test it by yourself, compare with performance your own “pure code” and you will understand.

  41. Tom Says:

    You’re nuts, CakePHP is more like Ruby on Rails…and it’s more mature, has more code coverage, and a bigger community. Take a second look now, the documentation has changed. CakePHP 1.2 is very well on it’s way (stable) and there’s a nice book.cakephp.org site too now. Yes, a year or two ago the focus was on driving CakePHP’s development and not so much documentation…I have to agree. However now…You’d be insane not to get on board with Cake.

  42. mk Says:

    Hi, first of all thanks for the articles and reviews! Then, your first link in PS is broken (: Thanks!

  43. Nick Says:

    If by “wusses” you mean “efficient people who have more important things to do than reinvent the wheel” than you’re right. Thanks for the article. I’ll give symfony a shot.

  44. Indian DTH Says:

    Zend is better than other MV, if u want to create big Application.

  45. Utkarsh Sengar Says:

    What about The CodeIgniter Framework??? you missed that I guess…

  46. loto Says:

    Code Igniter easy to use but lack some general libraries. For example you have to write your authentication system from scratch with CI. May be Kohana can be right choice.. There are lots of modules that do validation,orm, authentication but it can be confusing some time. I personally choose Django

  47. Jim Says:

    “I’ll use the extra profit to extend my gym membership to make up for my “wussiness”

    - ur gay!

  48. The Best PHP Framework: Is Symfony Really It? | The Weber Report Says:

    [...] the original: The Best PHP Framework: Is Symfony Really It? | The Weber Report Share and [...]

  49. hariharan Says:

    I tried cakephp and it sucks in terms of developing web 2.0 applications especially when establishing through associations like Ruby on rails. Also the way it produces query pattern sucks like anything. Requesting your view of PHP on Trax. Is it alternative for RoR developers??? I will give a try symfony for your sake. But what about perfomance issues when compared with cake and CI?? is symfony benchmarks in terms of perfomance???

  50. chracks Says:

    how about seagull? we’ve shifted from it to zend. my boss started doing a modification of zend and tried adding smarty as a templating engine. but the problem is it’s not anymore utilizing the view part of the framework. and i’m just having problem concerning ajax. i just have to modify the smarty template being used when an ajax request is being made. i don’t want to add some logic in every controller telling it to fetch the template in another directory (which is appropriate for ajax responses removing some unnecessary stuffs like the header and footer). so i requested if an overriding feature or something can be implemented. in response, he suggested the use of plugins which utilizes zend’s plugin architecture to enter some intervention in the dispatch process. but damn, the plugin won’t give me access to the controller.

    anyway, i know i’m off tangent in the topic here. anyway, just told you the things happening in my days work. :D

  51. jason Says:

    Only wusses get in their cars and drive places. Real men put on their running shoes and run everywhere they go.

  52. JT Says:

    I may a bit late on a comment here, but the “Only wusses need a framework Seriously” guy is obviously some high school kid whom has never developed a real application. Using an MVC framework is a lot more difficult a task then writing a bundle of procedural spaghetti. I feel sorry for future developers that have to come in and debug your non-standardized code. On another note, yes, Symfony is in my opinion the best PHP framework. It takes the best of Rails and makes for a clean development environment (one with documented standards, not solo God developer wuss like self observed methods that require reverse engineering it the near future after bugs have been discovered). All other mentioned frameworks (including Zend) are also solid. It really depends on the application being developed and developer to decide which is the best fit. Although I still feel Symfony is the best and getting better revision by revision.

  53. Tom Says:

    Fabien Potencier is the author of much of the Symphony framework. His PHP is a shining example of how to code PHP. Now take a look at the mishmashes of hacked together code of some other frameworks.

    #Remember, if we hadn’t have kept reinventing the wheel, we would still be rolling stones around on logs.

  54. James Says:

    I just wanted to post and say thanks for the articles, and for shutting the anonymous know-it-all down with this line:

    “Well, to be honest, I was just using ’slang’ and shortening MVC framework to just MVC. I guess that threw you off, so I fixed it.
    I agree DP is a good read.”

    That made my day.

  55. joy Says:

    Hi You can use Cakephp with zend framework.
    Please go to http://www.docterweb.info/2009/11/cakephp-zend-framework-fusion.html to make it working

  56. Chris Says:

    This is a really useful article however I wonder what your opinion is now in Late 2009?

    I have heard from others (today) that Symphony is far better (eg more mature) than Zend Framework – which is great as I have been playing around with Cake PHP 1.2 all weekend.

    Wus – yeah! anyone who doesnt code in machine code or assembler, in notepad, is a wus! Oh well, i guess someone had to get the small brain..

  57. Rolf Ernst Says:

    Just wrote a piece on my site about Symfony, RoR, Grails and CodeIgniter.. After having looked into these things in quite some detail (plus glanced at Zend) I really have to sum it up as go with what works for you. All these things do the same basic functions in different ways. Only symFony has an admin generator that is really flexible. RoR has some addons for that but people gave me caveats on those. RoR and Groovy likely perform a bit better but really, in the end, they all do what you want. All of them have a lot steeper learning curve than they let on (yes, you can crank out a Hello World by creating project with tons of files automatically, creating a domain class, some sort of template and view and finally whatever you call an action (different system use slightly different terminology). Of course, when you read something like this it sounds like the last thing in the world would be to use a framework but the fact of the matter is that you also won’t have to write much more to track inventory or sales than for Hello World.

    Anyhow, use whatever you like. I find it silly to argue over minor differences. If you only do shared hosting I some serious questions as to the professionalism of your business. I rent a VPS for $25 from Echo Servers and it gives me root access (Actually, I rebuilt the box via ssh from scratch). You won’t get Ruby from every hoster, you certainly have to look for Tomcat for Groovy (or Jetty) so bottom line is that you really want to control your environment anyhow.

    I find that these things pay off very quickly once you get the hang of it. Initially they are a nightmare.

  58. helloworlder Says:

    RAD frameworks like CakePHP and RoR can be good if you’re an expert in MVC, but not for beginners. It hides too much detail from you – it’s like trying to use Dreamweaver and not knowing HTML. Yes the analogy can only go so far but I think it’s a good one. RAD frameworks advertise that they handle all the boring, common stuff that is in every web app. But the problem is it’s the non-typical stuff you need to do that takes up the majority of your time (except for trivial applications). When it comes to doing the non-typical stuff in a RAD framework often you find yourself frustrated and going onto IRC to ask how to do the most trivial thing, because you don’t understand how the framework *really* works, therefore you can’t control it.

    For people who are somewhat familiar with OOP but not experts in MVC, they should invest time in learning a framework such as the Zend Framework before moving onto RAD frameworks, otherwise I think you’re hurting yourself in the long run :-)

    That’s my experience and opinion anyway.

  59. Shamun Says:

    To be true all those frameworks are some individuals like you and us creators, they for them self to sit in business make a frameworks, all of us and you, just got cheated by them.

    1. If you are doing a ajax and ajax, dealing with GET/POST, where the performance carry? Browser or in Framework? you cant prove me how the cake/symfony can make more performance on top of that? Because he is using himself the core of it, where we can make more better by pure hand muscles coder, like a guy wrote. You know what with respect f..k u too.

    2. i use extJS, jQuery, and java for voip in local intranet solutions, the hell i ask to those frameworks designers, and the users, they does nothing, doing some packets switching for GET/POST. The rest thanks goes to PHP itself who is talking with shell.
    a. the rest shit happens, between browsers rendering process and parsing the contents to the viewer, who made a click.
    a.1: well if you are a company and you can do this your own and u need a framework, (millions of frameworks), you and all of us we are following should be renamed to IDIOTS.

    b. making those frameworks more and more popular really a business in reallity
    c. some idiots sitting in banks/high job fields make those frameworks more popular for a shit
    d. when we are talking about performence we go to cgi or bash shell, search those frameworks

    Those job fields and those job providers are some kind of hipnotised on those names, nothing else..

    There are many ppls who not beliveing on those frameworks (after the popularity in the market a ASS is also renamed as DIAMOND).

    Thanks

  60. Tyler Havener Says:

    Um… Hello??? Codeigniter. Period. Done. Next Song. NEXT. SONG.

  61. web development company Says:

    . . now the boosting your web development skills on Symfony or ROR is very invaluable to accomplish many web projects & helping to develop new trends website over . .

  62. Cake 1.2 slowly to Symfony Says:

    I work for a large advertising agency, before I started we only did MS .NET (C#) with the forms approach, we have since implemented Cake on many of our web builds however I have been looking to branch out into other MVC frameworks.

    Long story short I looked into Symfony and found it to be what I was looking for. I esp. like the different “Environments” and being able to do a deploy right from the cmd line.

    The Doctrine ORM just makes sence to me, and while I liked Cake alot I never like the whole dynamic ORM that it does. Doctrine on the other hand reminds me alot of Hibernate that I have used before in my J2EE development.

    As far as the comment about not using frameworks goes, speed, consistency, re usability, portability(as in moved from one server to another) and flexibility are clearly not an issue for you or your poor clients then.

  63. Greg Metsker Says:

    Thanks for the article. I am new at python and this was a big help.

  64. Tobias Sjösten Says:

    Thanks for sharing your thoughts on this subject! A note though: the links in your update are broken.

  65. Isa Test Says:

    I ordered the product and wish to order more how quick will it arrive?

  66. chris Says:

    Hi,

    Excellent thread. I just tried to click on Dustin’s Update “this, this and this” but just received a 404.

    Any idea where the rest of the reading might be?

    Cheers

  67. haziri Says:

    thank you man. really hard to code everything from the beginning for each project. need framework now.

  68. Anonymouzer.3.14.16 Says:

    Only wusses need a framework. Seriously.

  69. adwin Says:

    UPDATE: I have actually changed my mind! Please read this, this, and this.
    –> the links are not working ……

    have you really change your mind ? :)
    is there something better than symfony ? kohana or codeigniter may be ?

  70. Yogendra Ghorecha Says:

    I prefer codigniter for newbie….

    - Yogi Ghorecha

  71. Sheldmandu Says:

    I did some comprehensive performance benchmarks of all the latest PHP MVC Frameworks including Yii 1.1.1, Kohana 2.3.4 and Code Igniter 1.7.2 as well as others. The results and analysis of results is here: Comparing PHP MVC Framework Performance

  72. Blue Eagle Says:

    The Symfony framework is great. Good thing it uses the MVC pattern. I have MVC knowledge from my Joomla developments and believe this is a very efficient design pattern.

  73. ilovenestor Says:

    OMG! Ruby is an easy language to learn! Very elegant… I had been working with PHP for a few months now and I miss Ruby (Although the switch was very smooth). My mother tongue is Java. Ruby code is very clear and modular; Same goes with Scala… Scala + Lift –> The best, simply the best!!!!!!!!

  74. Michal Palma Says:

    You did’nt notice that ZENT Framework is NOT actualy real framework

  75. Michal Palma Says:

    OMG sorry for my work with keyboard :-/

  76. Alex Stanciu Says:

    For anyone interested in a better platform have a look at: http://www.xtend-it.com
    Offers the best approach on what a framework should be and has a lot of unique features

  77. david Says:

    mvc would be nice for php, to bad php is a dynamic language. Zned framework is not for real world applications, it’s all based on theory and theory always looks good on paper

  78. DevShark Says:

    Hello,
    I’m French developer and it is now two years ago that I work with symfony framework. Initially as my company told me, it hurts the head and we need as much as 6 months of learning on this framework. I could test and compare and symfony zend framework, zend framework is a good and powerful too, but he does not enjoy significant advantages symfony.
    Only the admin generator saves a lot of time and the philosophy and structure of the files that actually form a very consistent among conversely zend. In symfony there is some nomenclature and that’s what destabilizes a bit at first.
    While in zend framework can modulate a bit more to his way of programming and this is precisely that symfony has an advantage. For when a developer changes company and comes on a project with symfony creates adapts quickly because he will find the same structure everywhere. Symfony philosophy is also a good point.

    Where it was difficult for me to understand symfony is to understand all the documentation in English lol, no versions in French, paradoxical and even more frustrating when you know that symfony is French lol, I have already discussed with Fabien potentia (the bigboss of sensioLabs) very informative but I still have room for improvement in technical English, I had already understand the doc symfony in English and in French :( lol.
    American boys and good luck to you soon.

  79. lazarus Says:

    What about RadPhp(Delphi for PHP)?
    The fastest way to build PHP applications.
    RadPHP is the only visual Rapid Application Development (RAD) environment for PHP.

    Release August 10 2010 by Borland/Embarcadero

    How can you compare those frameworkS the radphp?
    Since radphp has all that features.
    ;)

  80. MiamiWebDesign Says:

    I’ve been developing in PHP for quite some time now and never have had the need for a framework. Now, I have a few projects that require me to scale up a bit from my current workflow and been reading about PHP frameworks lately.

    With all the great posts here, I’m still not sure what’s the best one, since there are many different opinions and feelings. I’m going to concentrate on Symfony, CakePHP and CodeIgniter to test them out. If you have a chance, please make a table view with the frameworks on the article to compare them side by side and clearly see the differences.

    Thank your for your post.

  81. Ben Says:

    The writer of post #5 is a douche. It was definitely an attempt at a “look how awesome I am” post.

  82. casa Says:

    Links at the end of the article are broken…

  83. Alex Says:

    You can use ZF as a true mvc framework but think twice before starting a small or medium size project with it especially when you are the only developer. It is very good and flexible as a library of loosely coupled classes and can be used with or without mvc-based paradigm.

  84. Parm Lassert Says:

    “icky feeling”, “appears to be”,”It seems like”, “doesn’t feel quite right”

    Finally you say, “There are lot’s of specific reasons I feel this way” and then provide no specifics.

    What a useless, unresearched article. No programmer worth his salt would describe things in such a hazy, almost uncommunicative manner.

  85. mike Says:

    To be honest with you guys I don’t need any framework to work on my projects or to develop in PHP but the times changed and the programming style too.
    Nobody work anymore from ground and a framework help you go forward and don’t reinvent the wheel.
    On top of that it’s much harder nowadays to find a good job without knowing a framework at least. Maybe two.

    Good luck everyone.

  86. Christof Coetzee Says:

    I’m really not that impressed with the remarks here, it borders on real stupidity, clearly you guys haven’t work with Zend Framework on an enterprise level.
    In my opinion Zend Framework is state-of-the-art and comparing it to any other PHP framework is just mockery.
    Just ironic and sad that large corporations endorses ZF and other small mediocre programmers will shoot it down, perhaps they don’t have what it takes to grasp high level coding practices.

  87. anonymous Says:

    Only frameworks need a wuss. Seriously.

  88. 404 Says:

    Symfony is shit and yml sucks bollocks.

  89. Rodrigo Says:

    I love Codeigniter ! great framework! ,versatile, easy to learn, excellent documentation!

  90. rashthedude Says:

    haha, let me re-ignite the flame wars………..

  91. Ackmed Fedahalluzin Says:

    Which framework is best for Muslims to use? I want framework that automatic shut down site 5 time a day for prayer services. You have framework like that for me? Also any framework where all the documents and instruction written in Arabic?

  92. John Fro Says:

    Anyone try Dolphin? How about Nitrogen? The problem with most frameworks is the code bloat and the lack of IDE RAD tools.

  93. bob bradley Says:

    youall seem very in the know, so I have a question. I have to write a web page with different user acounts and a database. I have only taken a java class in my life. what “language” or “framework” will be the easiest to learn and use for the complete beginner? I know nothing about servers, databases, or even writing scripts of any kind. sorry for filling the thread with off topic things, but thank you for your time and understanding

  94. Anas Mughal Says:

    Cake is a great framework. I have ported my old site that used a home grown framework to CakePHP. At certain times, I found cake’s documentation was lacking or missing example. I just dig into the code. The code is very clean and self-descriptive.

    The only draw back I saw with Cake is its ORM. So, I integrated Propel into Cake. Now, I got a very productive framework. I show on my blog how to integrate Propel into Cake.

    Regarding comment on performance, I did not see any performance issues. (Of course, ensure that you switch off debug logging in production.)

  95. Joey Says:

    If you’re not into immensely large projects: CodeIgniter. Don’t look any further.

  96. Ido Schacham Says:

    The links to the other posts at the bottom didn’t work.

    I had a horrible experience with Symfony when it came show time to develop the project. It was really annoying to maintain, hard to customize, the documentation sucks, plugins weren’t being maintained, and there were some voodoo bugs with it.

    I’d definitely recommend to go for another framework, either CakePHP or learn some Python and move to Django.

  97. yucoon Says:

    Frameworks are really idealistic “view” of things. I had work with big enterprises web’s that had pay houndred tousands of us$ their web presence and could only say – the bigger the company is, more crappy the web realisation will be. .. You wouldn’t fucking believe if i show you which crap is running big webs. .. not a fucking mvc. … if they could tey will done it with assembler bitchez

  98. games Says:

    I am a graphics designer, after I studied Photoshop CSS HTML I started with PHP and JQuery. PHP I learned mostly with WordPress. At this time only PHP5.2 frameworks were available.

    I went through all of them – Zend, Symfony (1), Cake, Code Igniter – went through all of them by reading the basics. None of them grab my attention – there were some pitfalls which I didn’t really like. Later I heard for the new version os Symfony – Symfony2.

    As soon as a documentation was available and early beta I started practicing.
    What could you possibly want – PHP5.3 namespaces, nice MVC (in fact as I am
    mainly better designer than a programmer i like the powerfull TWIG template engine),,
    Doctrine2 was hard in the beginning but it is very usable even for newb – you don’t need to know complex SQL to do your job.

    Bottom line – I think that right now Symfony2 is the best choice – development is
    very fast – and not to mention the available bundles – Elastic Search, Doctrine
    extensions, contact forms, image resizing, users, comments, form generators.

    I spoke with a guy who is a huge fan of .NET, infact this is what he works.
    He was very passionate for .NET but really I don’t see a reason why. I am quite
    happy with PHP and Symfony2. I bet .NET site would require more time to release
    than a project written in PHP.

    Just my opinion – no offence to other IT religions :)

  99. Juliana Says:

    What do you think about CodeIgniter?

  100. Ganesh Says:

    Hi to everybody,

    I read all the comments above and coming to my experience i started with just plain PHP.

    I have experience on Codeigniter and Zend.

    for small type of projects which will follow the mvc best to take Codeigniter for large scale of projects zend is better.

  101. Eric Says:

    Symfony is the worst piece of “framework” ever invented. Stay away from it. Also I agree with the fact that people using frameworks are wussies. If you are a real developer, you already have a framework from all your custom classes. You do not need a crappy framework. A php framework … that makes you learn a new proprietary language which isn’t even close to php – RIDICULOUS.

  102. Alex Dev Says:

    The post is old and since that time lots of staff changed. Personally I started with Cake, it was not bad. But now I prefer Yii and I`m confident it`s the most efficient one today. It really helps to save much time using extensions like coco, bootstrap or backvendor ( For example http://www.yiiframework.com/extension/backvendor/ ) Yii is the easiest and the clearest one. Great for beginners.

  103. Scott Says:

    Symfony is the king of all PHP frameworks. The ones that complain about it are the ones that have no business doing advanced coding. Stick to WordPress.

  104. Scott Says:

    Code Igniter is only for small projects!

Leave a Reply