Sunday, November 18, 2007

PHP framework - task ID 1.2 delivery

PHP framework - task ID 1.2 delivery

approach and learnings
It seems that there are a handful of standard php frameworks, but for the most part each php web site/application 'appears' to develop their own (either from scratch or using an open source framework and building from that). The php frameworks available range from base templates/common code to full fledged systems based on common development theories and practices, such as:
MCV - http://en.wikipedia.org/wiki/Model_View_Controller
scaffolding - http://en.wikipedia.org/wiki/Scaffold_%28programming%29
URL mapping - mapping specific pages to a directory
security - build in security modules
etc.

Here are some usefull links regarding php frameworks:

All the frameworks appear to be open source, some ask for donations and one (Zend) is tied to a commercial IDE.

Most of the php framework comparison work was already done here:http://www.phpit.net/article/ten-different-php-frameworks/
In addition to the comparison and reviews, I would add:
  • recent'cy - how recent has the project been updated - some open source projects go stale - no updates and the people supporting move on to another open source project
  • use by others - the proof is in the pudding (as someone said once) - check the sites developed with the frameworks and see if they are in line with what is needed
  • documentation/examples - make sure it's there and is useful
  • forums - check how recent they have been used and who from the framework team is supporting them (is it a team of one?)
  • directly tied to a IDE - even though it would be nice to have a built-in or easy to integrate IDE....I'd prefer not to have the framework tied to a commercial IDE (Zend), since I don't want to pay for anything (free is good)

Selection
After reviewing the various articles I could find regarding frameworks, how other large applications approached this choice (seems most selected to build their own - possibly based on an existing one), reviewing the web sites developed by the frame works, etc. - I narrowed the selection to 2:
CakePHP - seems to be more widely used (even IBM is using it)
SeaGull - the admin support is very CMS like....

When it comes down to it, it's a base perception call. I'm sure out of the top 5 (add Symphony, ZEND and Prado) - all would work well...what moved me to Seagull and CakePHP were their sites, the sites developed by the products and the reviews. Right now I'm perceiving CakePHP to be the best for me.

1 comment:

  1. Hi.


    I was looking for a great php framework.
    And I found it.
    It's kite new, under-known and named Akelos Framework : www.akelos.org

    I've been using it for 2 months now and I'm so happy with it !
    I have tried many frameworks (Symfony, CI, CakePhp, and the like) and with all
    of them I had to choose between 'powerfull/overwhelming' and 'weak/flexible'.
    Akelos is really powerfull and I feel free to code the application I want.

    I do some advertisment because Akelos is really under-known and I wanted
    to share some feedbacks about my experience.

    The only drawbacks of Akelos are : small community and small documentation.
    It's mainly because it's a new project.

    Akelos is a PHP port of Ruby on Rails. And it's a great port : it respects
    the phylosophy and the features without perverting anything.
    More ! Akelos added many great features of his own that feat gracefully
    with the whole (the multilingual feature and view Sintags are so great
    and easy to use...).
    Akelos rely heavily on conventions and that remove all the overwhelmingness
    of the framework : it's easy and intuitive.

    Really, you should try it.

    To start, you can look at :
    - The screencast that cover the basic features of the framework : http://www.akelos.org/screencasts
    - The README.txt in the Akelos archive (zip or svn) : http://www.akelos.org/download
    - Some basics : http://wiki.akelos.org/tip-sheet-for-beginners
    - To try and get started : http://wiki.akelos.org/gettingstarted
    - The small tutorial (that is going to grow) : http://www.akelos.org/docs/tutorials/booklink
    -

    To learn more :
    - Some documentation wich have to be completed : http://wiki.akelos.org
    - Classes doc to learn about all the powerfull methods : http://www.akelos.org/xref
    - The forum to grow the community : http://forum.akelos.org (very responsive community, despite it is small)
    - The plugins repository (that has to grow) : http://wiki.akelos.org/plugins

    Please forgive my unperfect english and be sure of my sincerity ; I'm not member
    of the Akelos team or anything, I'm just an exultant Akelos user.


    Best regards.
    --
    merindol

    ReplyDelete