Posts Tagged ‘PHP’

10th September
2008
written by spencer

One of the ’simplest’ ways of producing web based applications is by usingan interpreted language called php.

Now on version 6, nearly all web servers have version 4 or 5 of php installed, along with mysql support and sometimes sqlite and postgresql too.

About a year ago I started dabbling with Ruby on Rails, but my current webhost had limited support for Ruby via fastcgi (in fact I’ll post about Ruby separately).

My php programming started with simple stuff - direct access to the mysql database for things, session handling and using the smarty templating system.

However after seeing the effect of Rails on increasing programming development I tried out the php equivalents - cakephp, codeigniter, symfony and few others.

Cakephp was great to get a template app together but the updates blew up earlier code, and earlier plug-ins. Also it seemed like a lot of work to un-scaffold the code generator output to get what I wanted.

Symfony was too bloaty and difficult to get into.

So I was left with my php framework of choice codeigniter. Its simple, straightforward and after a couple of hours I knew the basics of all its ‘bits’. The online manual was especially useful AND used a rather slick piece of DHTML coding to give a drop down index on every page.

There are various useful libraries/helpers/plugins for codeigniter like a paypal ipn handler, Redux_Auth or FreakAuth for user authentication.

However the nicest part is the Active Record model codeigniter has, which allows you to do abstracted database queries that read much much easier.

Add in a simple template system so no smarty needed and its easy to program with.

The only big issues I have are with some of the documentation, the htaccess configuration takes a bit of work and deployment can be a pain; quite a few configuration files to modify for each installation. It could be done but an install script is going to be quite complicated for any reasonable app.

Still I am re-working podcastresponder using codeigniter for version 1.1.