David Golding



PHP Frameworks Review

By David Golding | Print This Post Print This Post

I’m on such a framework high right now, I just have to begin my revamped blog with a post on something to do with them. I started with Ruby on Rails. Yes, it’s been the thing lately. If you don’t know what it’s about, then go check out the Ruby on Rails website. In short, it’s a dream come true for web developers.

But what do you do if you want to completely avoid having to learn Ruby? I know the feeling… I’ve spent all this time and energy, years worth, devoted to acquiring skill in PHP and MySQL, and suddenly I have to adjust yet again for another disruptive technology that has graced the net… Well, thankfully, there are other options out there with all the benefits of RoR.

PHP Frameworks

There are tons of PHP frameworks out there that aim to simplify your programming experience for the web. I devoted my summer to exploring all the options and seeing how they work with my current set up. I run a Mac, which is fabulous for Ruby on Rails. But what about PHP frameworks? I tested 4 frameworks from installation to coding for sites: Symfony, Seagull, PHP on Trax, and CakePHP. Here is my consensus.

Symfony

To install Symfony, you must be running PHP 5.0 or greater. This ended up becoming a major hurdle for my little laptop. You’ll have to install Xcode, which you should have installed anyway if you are any kind of developer, and upgrade your PHP package. By going to Marc Liyanage’s PHP site, you can download a pre-packaged installation of PHP 5.something. From there, there’s still more steps to get it flying within your Unix shell. Once that’s in place, you can upgrade PEAR to make the Symfony install.

Now, that’s not all that bad. But after I had Symfony running, I ran into bug after bug on my localhost. Not worth it. I give it around a C+. The features seem extremely promising, but there’s gotta be a quicker install with less bugs for me to convert to it.

Seagull and PHP on Trax

Seagull rocks. The installation was beautiful. You just place the install folder in your localhost directories and fire it up. It’s all explained step by step and in no time, you’ve got a website framework up and running. Now, for me the methodology was something different. The idea is that you work through the site itself (there’s an admin panel built into the site) to produce the different controllers and elements. Then you match up your code on the back end with all that yummyness. Seagull’s great, but still coming along, in my opinion. B+.

PHP on Trax… Well… It’s a noble effort. Personally, I like the whole approach. They took Ruby on Rails and made as close a replica in PHP as they possibly could. But, I got errors. And there’s very very little community help to get past those. My grade on this one’s a C.

CakePHP

I saved the best for last. Yes, CakePHP is my favorite of the bunch so far. With plenty of documentation to get you through the installation and tons for when you’re in the trenches working with the code, CakePHP is my dream come true. I found the installation easier than Ruby on Rails by a long shot. It’s compatible with PHP 4 (which, unfortunately, I’m still stuck into using due to the current web hosting environment out there), and it’s built well with minimal errors. At least, I know when it tosses me an error, it wasn’t my bad. Now, I haven’t noticed major features, like AJAX and other cool web 2.0 goodies just yet (it does support AJAX, but with some tougher code than Rails), but I’m pleased with it so far and give it my heartiest recommendation to all of you. A-.


| Newer Entries »

Beginning CakePHP: From Novice to Professional by David Golding

Other Blogs

David Golding

A blog about CakePHP, web design, and grad studies in religion. © 2008, D. Golding