Cría cuervos y te sacarán los ojos

A study of PHP Frameworks

Wednesday, August 15th, 2007   by Favio

The main reasons to use a framework are: saving time, don’t repeat yourself, avoid boring tasks and produce results faster. All of these with the feeling of security, reliability and happiness.

Having already experienced the cycle of using a framework, then using my own (incomplete) framework, and then wanting to adopt a new framework because my own is taking so much time to write. I want to make an informed decision on whether I stick to my own or adopt one.

The premise

Using a framework is like learning a new language. You could say a programming language, like PHP or Ruby, is a framework. So yeah, we’re talking about frameworks within frameworks. So I’m wondering: why not learn Ruby On Rails instead of the multiple RoR-like PHP frameworks?

It is easy to go on troll mode and start saying that PHP is better than Ruby, or WACT better than CakePHP. From a common sense approach, the tools you use are most likely defined by where you work and the kind of project or challenge you are facing. If you can choose, great! But if you don’t have this power, you need to adapt.

Basically, what I’m trying to do, is to get used to the learn, unlearn and relearn process.

The Objective

I will develop a web application using several frameworks. It needs to be very small, but very functional. In short, 1 week should be enough to develop it in any given framework, but I have set the time to 2 weeks “just in case”. But the desired timing for this objective is, still, 1 week per framework. Can I do it? That will be answered in the first week. I’ll avoid the explanation of real life work versus personal projects. (^^”)

The Application

Hmm, hmm, hmmm… I need an idea. (=.=)

(Goes to sitepoint marketplace…)

Ok, the application is a: Knowledge Base.

A knowledge base is a centralized repository for information. For this app, it will be a searchable categorized collection of questions and answers about Skydiving. (^_^)

Before starting any coding, I need to finish the templates. Since I’m taking this from the perspective of a programmer, the development time shouldn’t include any css/js/html work.

Interface and Templates

The timeframe to finish the interface and templates which include the html, css, and graphics will be 5 days.

The frameworks

Note: The frameworks to be evaluated are subject to change.

Methodology

I will post an article for the interface design and each framework describing in detail the process of developing the application. I will pay more attention to the differences between each framework and how they solve the traditional problems like: validation, security, templates and code reuse.

It is a very ambitious project, but the benefits are greater than the invested time. To be honest, one of my big motivations is finding out how the scaffolding methods work. I have an idea about it, but better see the guts myself. (^_^)

The final derivable will be the application source code and, way more interesting, a comparison table of the frameworks evaluated.

References

To be updated during the process.
http://toys.lerdorf.com/archives/38-The-no-framework-PHP-MVC-framework.html
http://www.drews.cx/2006/03/27/php-frameworks-to-use-or-not-to-use/

Related Articles

Not yet.

The clock is ticking.

This entry was posted on Wednesday, August 15th, 2007 at 2:57 pm and is filed under A Study of PHP Frameworks. You can follow any responses to this entry through the RSS 2.0 feed. You can leave a response, or trackback from your own site.

2 comments to “A study of PHP Frameworks


Leave a Reply





Old and not that old articles

« NetpbmResize yet another Image manipulation class for PHP

Entendiendo Ajax a prueba de balas o Bulletproof Ajax »