CodeIgniter: Fox going pragmatic

Oh, well, you can't always use the best tool, simply because best is kind of relative these days. There are so many of them (tools) and all have a valid reason for existence, so it becomes hard to define why something should be called "the best". Anyway, as far as web application (or site) frameworks go, Django, for me, is the best (relatively) tool for what I do. But, it is still not the best because I cannot purchase a decent hosting plan (don't ask, it's my weird last name that's giving me a lot of trouble), and therefore am stuck with shared hosting...

So, when it comes to deployment, I cannot even consider Django (at least for the time being). So the only thing I can do is deploy Django at home and play around with it. In comes PHP and it's excellent coverage that extends to practically all and any serious shared hosting plan. And, of course, using a PHP framework makes a lot of sense in my case. Except:

  • PHP has no namespaces support
  • PHP has ugly syntax (at least the way I see it)
  • PHP has no ORM the quality of Django (again, the way I see it)
    • I've looked at Symfony, then a brief look at CakePHP and Akelos, didn't want to go into Zend (and besides, I don't think it is universally supported on every PHP shared host), and finally CodeIgniter. First of all, I notice most (if not all) of the PHP web frameworks have beautiful websites. No surprise there because most of them were created in shops that sell web design and development services as their in-house tool then released into the wild. Still, some frameworks from other languages (like Rails, for example) could use a bit of a makeover as far as aesthetics go.

      My framework of choice (for now)? Well, I've finally settled for CodeIgniter. First of all, its own website has the most appeal to me. But more importantly, it follows some of the fundamental principles of Django framework (like flexible URL rewriting, loose coupling of components, and so on). Also, unlike some of the frameworks, CodeIgniter doesn't try to emulate the way Rails handles database modeling, nor it has some weird (weird is not a strong enough word) XML-based syntax for writing DB schemas.

      It's query language is currently something I'm not particularly happy about. It uses the Active Record syntax which is kind of low-levelish and very similar to SQL itself. I got used to Django's phenomenal query syntax which is not only aesthetically pleasing, but also packs tremendous power. I didn't encounter a query I couldn't construct using Django's query sets. Well, we'll see how CodeIgniter and Active Record handles itself in this department. Still haven't had time to read about it in detail...

      There are already many projects that use CodeIgniter, and I guess it's not at all an obscure and poorly supported project. It may not be as popular as some other frameworks, but for now, I'm quite satisfied with it, and can certainly see myself igniting some code later this week. :)

Post new comment

The content of this field is kept private and will not be shown publicly.

Powered by Drupal - Design by artinet