scott.hodson.blog

August 10, 2007

CakePHP: Tasty, Still Undercooked

Filed under: PHP — scott @ 10:53 am

CakePHPLast night I went to a Orange County PHP Roundtable meeting for the first time, primarily to learn about CakePHP, a PHP framework that implements MVC and ActiveRecord a-la Ruby on Rails but for PHP. I was impressed with the amount of work that has gone into the framework and the passion of the presenter (Garrett something, President of the Cake Software Foundation). He was there to demonstrate some of the new features coming out on their 1.2 version.

Having developed in PHP for some time I could appreciate all of the pain and agony they are trying to resolve with CakePHP. The problem is that they’re perhaps 1-2 years too late because many disgruntled PHP developers have already moved onto Rails. Also, Cake is Rails-y in its implementation of ActiveRecord, scaffolding, and RESTful service support, but it doesn’t have any unit testing or database migrations features in it. Also, I think the fact that they go out of their way to support PHP 4 only holds them back. And I couldn’t get over the pain of seeing all of those dollar signs all over the code and having the type “new array()” every time you would create an associative array in PHP, which is used often throughout the framework.

The advantage, however, is that PHP is much more mature and has wide community support and is nearly ubiquitous on the Internet as the lingua-franca of website development. People who have large investments in PHP and plan to continue to leverage those investments should take a look at CakePHP.

CakePHP is a valiant effort to prop up the annoying verbosity and syntax of PHP and will extend the life of those teams that have been eating out of the PHP bakery for some time now.

4 Comments »

  1. clearly you saw and heard only what you wanted. I would recommed doing some research. In fact, a quick search of the Bakery will yield info on both migrations and unit testing.

    In light of your lack of reseaching skills, I find it hard to believe your assertion that PNP developers are disgruntled and thus have switched to rails. from my experience in IRC several developers are actually moving from rails to cake because it is easier to setup, deploy, and scale.

    Thanks for coming to the meeting. I would have been happy to answer these questions had you bothered to ask.
    if you have anymore, feel free to email or stop by #cakephp.

    Comment by garrett something — August 10, 2007 @ 2:54 pm

  2. Garrett something,

    I don’t mean to represent you, and I did go through the cakephp site and the manual and bakery before I wrote the post and I couldn’t find any mention of unit testing or database migration support. I think that if these are core parts of the framework you should make them more prominent on your website. For example, in the “Why Use It?” area of your homepage, I’d expect to see a list of core features/advantages listed there but, alas, there’s no mention of those features there. In the “Manual” page that has the table of contents there are no chapters about unit testing or database management so if Cake does have those features why is it not in the manual? If these are “coming in 1.2″ features then why weren’t they in your slideshow? And in the Bakery page I found 1 link “Testing Models with CakePHP 1.2 test suite” but no mention or links about database migration support. So I’ll give you that one but is that only in v1.2, which is still in alpha?

    If you want to provide good links to Cake’s unit testing features and database migration features and these actually exist in current, production releases then I’ll be glad edit my article and post the links to correct my errors.

    Good luck sailing!

    Comment by scott — August 10, 2007 @ 4:55 pm

  3. Here’s more salt in the wound…

    http://www.railsenvy.com/2007/8/24/rails-vs-php

    Comment by scott — August 25, 2007 @ 1:30 pm

  4. Group cooking classes houston….

    Cooking classes west palm beach florida….

    Trackback by Chinese cooking classes. — July 31, 2008 @ 2:33 pm

RSS feed for comments on this post. TrackBack URI

Leave a comment

You must be logged in to post a comment.

Powered by WordPress