Mar22

Top Open Source PHP Frameworks

After RoR there are lot many frameworks in PHP which are either inspired by it or based on MVC pattern. Today I am throwing some light on some of it, which I came across (I mean heard) during my development experience in PHP. Here I am talking about next generation Open Source PHP frameworks which I came across.

Symfony: Now it is more then 2 year old project and seems to be quite complete in the sense of feature and documentation. Symfony has quite rich documentation and community support. Their development seems to be really active as I see many change-sets getting committed and bugs getting fixed every Monday. Today Symfony 1.0.12 is released and Symfony 1.1 is on the way to getting released. I have not tried any project with Symfony as of yet but have been keeping a close eye on their activity since long and now when 1.1 release is near thinking of start something with it. 1.1 version will come with quite a lot welcome changes and I am looking further to it. Fabien Potencier and his team gave great contribution to the PHP world by gifting Symfony framework.

Symfony is MVC architecture based PHP framework. It is more of less inspired by Majovi and Ruby on Rails. Symfony team is not trying to reinvent the wheel and framework uses many opensource components in their base. For beginners it is little difficult to begin with Symfony but great deal of documentation and 21 days of askeet tutorials will help them out really.

I believe Symfony is really enterprise level framework. It has great deal of documentation and The Book (Definitive guide to Symfony - Open source)

Symfony uses Propel as default ORM and it has Doctrine Plugin in case if you wish to replace Propel. Symfony has 2 real world powerful application Yahoo Bookmarks! and preview.delicious.com. Symfony is having quite comprehensive plugin repository too.

I am looking forward to get my hands on it in near future.

Compatibility: PHP 5.2+

CakePHP: Another RoR inspired framework for PHP. It is called a rapid development framework for PHP that provides an extensible architecture for developing, maintaining, and deploying applications. Cake is having 1.1 release as stable and they are in their beta of 1.2 version which suppose to have many new features. Unlike Symfony CakePHP team believes in doing everything them self. It is quite popular and got quite a big community support. Project is under active development.

Compatibility: PHP 4 / 5

Prado: Prado is actually component-based and event-driven programming framework for developing Web applications in PHP 5. PRADO stands for PHP Rapid Application Development Object-oriented. It's current version is 3.1.1 and development activity seems to be little slower then previous two. It is actually Microsoft ASP.NET framework ported on PHP. I think it is great work by Prado Team to come up with such a framework in PHP. It depends on one's programming style that whether they will like it or not. I am not biased but I believe I would use original ASP.NET rather then it's clone in PHP. I appreciate Prado Teams efforts and it would really help who is migrating to PHP from ASP platform or want to migrate from PHP to ASP platform.

CodeIgniter: Another PHP Framework based on MVC architecture and it is easy to start with. It is easier for someone who is just starting with MVC and PHP. It's got good Documentation and quite comprehensive User Guide. It supports PHP 4 and PHP 5 both. Currently 1.6.1 is stable version. More or less like CakePHP and have it's own ORM module. CodeIgniter could be used in small to mid-sized PHP projects and your shared hosting server won't hurt with it.

Kohana: It's CodeIgniter brother, I mean based on CI. When CodeIgniter guys were giving more concentration on professional projects and request of CI users been pending then some of the community members started a new project and named Kohana. Kohana is strict PHP 5 framework. It comes with all the good features of CI and addes up where CI lacked or whatever was missing. It is quite appealing to me but documentation wise this project is behind CI.

Zend Framework: Zend The PHP Company..! The framework from Zend itself which is open source. It is quite loosely coupled and framework don't force you to follow any coding standards. You can continue with your own convention and still use Zend. Even using full framework is not required. One can pull useful class library from Zend Framework and use them in their own way. But somehow Zend is not able to attract mass with this framework. Zend tried to do everything from scratch for this framework although Pear has got really good class libraries which can be used to build on. Yes If you need to consume web-services it's got lot of stuff for you almost all famous web-services has been taken into consideration and specific classes to them has been developed so that you can consume it easily. Current stable version is 1.5 and it has got good documentation too. New Zend website is built on Zend Framework 1.5 and it supports PHP5 only.

Agavi: One more PHP 5 Framework which seems to be quite powerful and unique. I would like to paste their preface paragraph here to let you know more about it.

"Agavi is a Web Application Framework for PHP 5. While it lies in the nature of a framework to simplify the application development process, Agavi won't do that at any cost. The primary goals are flexibility, cleanliness and structure. You won't find HTML Form helper methods in Agavi (because they aren't necessary, we have something better, more on that later), and we use XML configuration files because we believe that they offer better structuring abilites than alternatives such as YAML. If you're looking for a solution that assists you in serious high-end development, that has smart and innovative solutions to common problems that haven't been solved properly before, and that encourages and enforces a clean development process to ensure your code remains maintainable and extensible, you've come to the right place."

Documentation and API Guide seems to be good but it's not for small projects and development seems to be quite slow. As current stable version is 0.11 which is same since quite a long time I believe it's difficult to advice someone to use in practical projects.

There are other frameworks too which I didn't talked about in my this blog post due to one reason or another to name few of them they are eZ Components, PHP on TRAX, Seagull, WACT, WASP, ZooP, Akelos, Fusebox and qcodo.

I would appreciate if readers will share their experiences in the form of comments with any of the PHP Framework.


11 Responses to “Top Open Source PHP Frameworks”

You can leave a response, or trackback from your own site.

  1. Get a Gravatar!

    Wil Sinclair

    Said this on March 22nd, 2008 at 5:26pm:

    Great comparison! I would have to respectfully disagree with you on the ‘But somehow Zend is not able to attract mass with this framework’ part. We are nearing 5 million downloads with almost 100 projects based on ZF in SourceForge and Google Code. We also have some examples of huge sites running on ZF coming out as case studies- check back on our site in a couple of weeks. Zend Framework seems to work well for many people for everything from a personal web page to a multi-million user commercial site with enormous load. By practically every measure I’ve found, Zend Framework seems to share wide popularity in the PHP community with Symfony and CakePHP. Others seem to be gaining popularity, and I wish them all well. We’re all lucky we’ve got so many great choices in the PHP world.

    ,Wil

  2. Get a Gravatar!

    Ken Downs

    Said this on March 23rd, 2008 at 6:01am:

    Trying to imitate rails is all well and good, but if you want to see truly fresh approach to software development, I’m very proud of the radical approach we’ve taken with Andromeda: http://www.andromeda-project.org. Sometimes we call it the “unframework” because it is so unlike the crowd.

  3. Get a Gravatar!

    Dharmavirsinh Jhala

    Said this on March 23rd, 2008 at 8:55pm:

    Hi Wil,

    Thanks for sharing facts and figures with us.

    I respect each PHP framework and their teams for their contribution to the PHP world.
    Yes, I agree PHP gives us so many choices to choose from.

  4. Get a Gravatar!

    IB

    Said this on March 24th, 2008 at 4:39am:

    Unfortunately this post appears to just be an opnion
    with no research, interviews or experience.

    What have you actually compared ?

    Prado - is based on Delphi VCL not ASP
    Zend has two frameworks - research PEAR
    Drupal - Did you know it is a framework
    Yahoo - Where is their framework

    Sorry to burst your bubble but much of these
    frameworks existed before RoR

  5. Get a Gravatar!

    Robert Speer

    Said this on March 24th, 2008 at 8:54am:

    I’ve been using Symfony since November 2006 with my current Employer, where we did www.sanus.com in 8+ languages and a complicated db for matching Audio Visual Equipment to wall mounts. Then started Symfony for www.webdigs.com a Web 2.0 style Real Estate Search site, that is starting to get some attention ( http://www.futureofrealestatemarketing.com/10-kick-ass-real-estate-search-sites ).

    In both cases Symfony was worked really well for our team. The learning curve was a little rough when nobody knew it, but once we got some experience training the new guys got easier and easier. It’s really nice that all our projects have a very similar setup, and everyone is doing things the Symfony way so looking at a co workers code is not as foreign as it used to be.

    The Dev environment is great for debugging, the Ajax / Js helpers are outstanding, the templating is intuitive and unrestrictive.

    In short Symfony makes us all better programmers

    If you are trying to learn Symfony I have some helpful links at http://www.robertspeer.com/blog/?p=8

    I’d also check out www.gotapi.com

  6. Get a Gravatar!

    Mike

    Said this on March 24th, 2008 at 2:13pm:

    This tiny php framework is nice too http://code.google.com/p/elf-php/

  7. Get a Gravatar!

    Web 2.0 Announcer

    Said this on March 24th, 2008 at 3:13pm:

    Top Open Source PHP Frameworks…

    [...]After RoR there are lot many frameworks in PHP which are either inspired by it or based on MVC pattern. Today I am throwing some light on some of it, which I came across (I mean heard) during my development experience in PHP. 
    Here I am …

  8. Get a Gravatar!

    fLUx

    Said this on March 24th, 2008 at 3:57pm:

    I don’t think copying rails is bad, because rails is an idea executed in Ruby - that idea wasn’t even created by David Hansson (RoR founder).

    Personally I use CakePHP and have probably been a bit flat in my decision to keep using it and pretty much not try the other ones. CakePHP is a great framework, so I see no point trying others, when cake does everything I need it to, and more.

  9. Get a Gravatar!

    Dharmavirsinh Jhala

    Said this on March 24th, 2008 at 11:25pm:

    Hay IB,
    Thanks for your comments but Sorry as here is my long reply for your comment.

    My post is not based on any interview and I am not having experience of developing real life project with any of the above mentioned project as of yet. (Which I think my tuff luck and willing to change it soon.)

    It is about some of the top rated frameworks in the PHP world about which I have been hearing up or I am following up since last 2 years.

    There is no comparison as no two frameworks can be compared. This post reflects my openion and I have right to express my voice on my blog.
    One should choose framework based on their own project/company requirement and flexibility.
    I believe team behind each framework works really hard and they does great job by contributing to Open Source PHP World so I respect all frameworks and grateful to their contributions to Open Source world.

    Okey now,
    - “Prado - is based on Delphi VCL not ASP”
    can you please goto http://www.pradosoft.com/about/
    and look at “History of PRADO” paragraph.
    The very first 2 line says “The very original inspiration of PRADO came from Apache Tapestry. During the design and implementation, I borrowed many ideas from Borland Delphi and Microsoft ASP.NET.”
    I am more in touch with C# and ASP.NET so I felt it like that and that’s what even their website has to say.

    - “Zend has two frameworks - research PEAR”
    I don’t see another one…
    Pear is repository of classes written by individuals/teams and contributed to Open Source world in the form of PEAR Library. I think my friend you are misunderstanding PEAR as another framework from Zend which it is not at all. PEAR is central repository for PHP Code Library and contains many great contributions.

    - “Drupal - Did you know it is a framework”
    Their home page says: “an open source content management platform”.
    The major goal is Content Management. I have discussed general web application frameworks in my post. So here Drupal is out of scope.

    - “Yahoo - Where is their framework”
    Yahoo has not contributed any PHP Framework as of now till best of my knowledge.
    I think you might be talking about YUI - Yahoo User Interface which is great Javascript library and UI widgets contributed by yahoo to the open source world.

    Thanks again and I hope I am able to clear your doubts.

  10. Get a Gravatar!

    kate

    Said this on March 25th, 2008 at 5:21pm:

    what about Typo3 and Zend framework.they are also good
    http://www.w3answers.com

  11. Get a Gravatar!

    Daniel

    Said this on April 7th, 2008 at 6:48am:

    You mention Symfony’s live sites. Just an addition for CakePHP:

    http://addons.mozilla.org is built using CakePHP: http://blog.mozilla.com/webdev/category/amo/

    There are several more listed on CakePHP’s home page. For more info, go to the CakePHP Google Group: http://groups.google.com/group/cake-php/web/cake-apps-sites-in-the-wild

    Also, Mambo CMS is being rewritten on top of CakePHP.


Leave a Reply

Recent Posts

Popular Categories

About

blogs@DiGiTSS is owned by Dharmavirsinh Jhala and Gaurav Gajjar.

Dharmavirsinh is working as PHP Team Lead at Meditab Software Inc, and now he is into PHP world for more than 2 years. He is having experience of building complex Web Applications (CRM, ERP), Web services and complicated real world custom applications and much more. He has been handling deployment of projects on either Client's server or company's server.

Gaurav Gajjar is working for Conchango as Technical Consultant from QuickstartGlobal and has been providing solutions with Microsoft.NET technology for nearly 4 years. He is having reputation of finishing his projects on or before time most of the time. He is right now working with AGILE development methodology to deliver solutions.

Both are known to achieve what they want and they are good friends, they know each other since last 10 years. They can provide solution for any technical problem, even though if they are facing it for the first time. You can put them in worst condition and they will get out of it, ready to take on any challenge.

Now days I have been hearing term "Rock star" for programmers, I believe they have it all what it takes to be a Rock star.