I’ve been working with PHP for about 10 years now, and the one problem I’ve always had was keeping my code organized and how to reuse my code efficiently. Well, a couple of years ago, I ran across some information about using frameworks to help speed up the coding process. I’m always a big fan of making things easier, even if it’s “not the way most people would do it” or “not the way a professional would do it”…forget that, I say whatever gets the job done is what wins!

There are many frameworks to choose from for pretty much any scripting or programming language. Because I mainly code my web apps in PHP, I decided to first try CodeIgniter because it seemed simple enough. Well, it turned out to be far too simple for me, because I was looking for something that took care of a lot of the heavy lifting for me. I don’t like reinventing the wheel…if it’s already done and it works, why not use it. I’m not going to go into all the details about the features CodeIgniter offers, but their website has very good documentation if you want to learn about it. Once I tried CodeIgniter and found it to be too limited for my tastes (I’m not saying it’s not a good framework, but I would recommend it to someone who really wants to code most of the logic themselves), I decided to give another framework, named CakePHP, a try.

CakePHP turned out to be a huge time saver in most areas for me. Not only does it help me keep my code well organized, because of the MVC (model, view, controller) structure, but there are tons of functions included with the release that help with the most common and some advanced features. I’m still learning the ins and outs of designing an app using the MVC approach, because it’s very alien to me since I’ve always been a pretty unorganized coder, but I’m getting there. With time, I think it may force me to become a better programmer overall.

So, if you’re like me and are having trouble keeping your code organized or just want something to make building dynamic web apps easier, give a framework a try…you may just be surprised at how much easier it is to develop your apps.