shepherdweb.com

Tiptoe Through the Frameworks

July 3rd, 2006

Preface

Almost two years ago I jumped into ASP.NET and C# headfirst. This was my first exposure to OOP. I love it, and I don’t plan on turning back. However, for personal projects and freelancing I prefer to use PHP. PHP was my first “server-side” language (not counting a really small ASP email script I wrote leveraged on my very first freelance development gig). I love it for it’s straight forward nature, low cost, and great support.

Many of the conveniences that ASP.NET offers are not inherently available with PHP. This, and the chest-beating of many RoR developers, has led me on a quest for a useful Framework for PHP.

The Quest Begins

I began by simply googling “php frameworks”. This returned a plethora of comparisons and reviews which I began to peruse. Along the way I learned some new terminology: Model-View-Controller. Four frameworks stood out to me based on feature set, community, support, and cost (free!).

The Frameworks

Prado

I was initially impressed by several things about Prado:

  1. Currently on version 3 and has a two year track record
  2. It has an active community
  3. It’s methodology is very similar to ASP.NET
  4. The majority of the Framework is very well documented
  5. Native development for PHP 5

Based on these strengths I decided to try Prado first. I found it easy to install and begin building applications. I built a simple login and used their templating system. Overall, I found the entire environment very friendly familiar. However, Prado suffers from some performance hits because of it’s architecture when using complicated dynamic templates. For this reason I decided to continue my quest. However, I would recommend Prado to anyone coming from ASP.NET who is developing small to medium sized applications.

Symfony

Symfony seemed like the next logical progression. It is well documented, highly reviewed, and seems to be very robust and efficient. I spent about an hour tooling around the documentation. I decided to abandon Symfony and move on after reading the installation documentation Please don’t judge me, I just get nervous when I have to do that much jockeying around with the command line.

CakePHP

It looks like I’m probably going to stick with Cake.

  1. Easy to install
  2. Active, enthusiastic community
  3. Good beginner tutorials (unfortunately the remainder of the documentation is still under development and leaves a lot to be desired)

I was up and running and had built my first basic application in under an hour using the easy to follow blog tutorial. However, as I’ve tried to dig deeper I’ve had to dive into google groups, irc, and other sites for help figuring out the subtleties of Cake.

Code Igniter

I haven’t tried it yet, but it looks interesting. If Cake doesn’t work out, it’s next on the list.

6 Comments »

  1. francois wrote,

    I’m surprised that you find the symfony installation difficult. You can simply download and untar a project already configured, and browse to it immediately.

    It provides different types of installations for different users, but for a started I’d recommend following the first project tutorial and you’ll see how simple it is.

    You don’t have to use the command line, it’s just one of the most convenient tools that developers like to use.

    Comment on July 4, 2006 @ 5:43 am

  2. Shane wrote,

    @francois - I see what you’re talking about now that I’m looking back over the installation docs; I missed that when I was initially studying them.

    I’m sure Symfony is a great framework. It seems to get great reviews from everyone who uses it. It’s possible that my initial assessment may have been wrong, but it seemed that there was going to be a greater learning curve than I have time for right now.

    Comment on July 4, 2006 @ 8:38 am

  3. Carl Camera wrote,

    Enjoy your foray into LAMPland. Don’t forget your rOOPts. :-)

    Comment on July 6, 2006 @ 2:52 pm

  4. Shane wrote,

    @Carl - Goooood one buddy, that made me laugh. Actually php is my roots…I learned ASP.NET so I could feed my family more than twice a week!

    Comment on July 6, 2006 @ 3:17 pm

  5. Halfer wrote,

    Um, this was rather a small tiptoe, wasn’t it? A paragraph or two per framework, and out of the four you mentioned, you only tried two of them. Symfony, if you give it a fair go, is solid and, in contrast to many open source projects, extremely well documented. It has a helpful community and a full install can be up and running on a LAMP stack within five minutes. I’d encourage you to give it a go.

    Should you wish to revisit the topic, you may wish to look at Zend’s framework, plus Seagull and Sourdough. There are lots out there, and I’d wager that each has its strengths if you give them each a few days trial use.

    Comment on July 11, 2006 @ 5:46 am

  6. Shane wrote,

    @Halfer - I agree, a small tiptoe indeed. Unfortunately I don’t have unlimited time resources to fully research and try out every technology that comes along. I just picked what I judged to be the standouts based on some limited research and then tried them out one at a time. At some point I may return to Symfony and give it another go. For now, CakePHP is serving my needs. I’d be interested to see a comparison between these two frameworks from someone who has tried both.

    Thanks for the other references as well. I was not aware of Sourdough.

    Comment on July 11, 2006 @ 4:16 pm

Leave a comment

RSS feed for comments on this post.

TrackBack URI

Bad Behavior has blocked 906 access attempts in the last 7 days.