Learning Advanced Programming Topics:
Lately I have been getting into the more advanced programming topics including code refactoring, frameworks, design patterns, and the major one posted about previously, OOP. I have always known about them, dabbled in them, known the pros/cons, read articles/blogs/forums, but never really delved into and embraced them. I have always felt them to be overkill for the simple data-driven web applications I have written in the past. But now I have come to a point where I need to be able to more rapidly deploy projects/ideas, and be able to maintain a suite of content-based websites from one interface. I want one source for my codebase to drive multiple web-based projects. I want to easily update my database schema’s. The more projects or ideas I come up with, the more complex my underlying infrastructure is looking.
The beauty I have always loved about data-driven web applications, is that the data drives the application. Majority of my scripts are written in a way that if your database is empty, you have a nice empty shell. Once that database is populated, it injects life into the application that runs essentially on auto-pilot with an interface to update the data in the database. I have always loved being able to look at a "bug" and determine if it's from missing data or a bug in the code (note to self: add exception/error handling in PHP to list of programming topics to learn).
My Thoughts on the CakePHP Framework:
In an effort to reduce re-inventing the wheel in hopes of decreasing the amount of coding I have to do which will in turn, decrease my project timelines. I downloaded and installed CakePHP today and so far, I am impressed with it. Need to get more into customizing it for my needs and see if it is more work or less work to use then writing my own code. So far, it looks like it will serve it's purpose and voila, I finally have a mechanism for code seperation that I've been looking for.
I have read the The CakePHP Framework: Your First Bite article over at Sitepoint.com and have gone through some of the examples. I don't know that I agree with it being a "Rails-only feature". I'm not a technology history guru but know that CRUD is quite simple to do with VS.NET and was one feature I wished I'd had with PHP, which I now do, when learning ASP.NET. If anyone cares to comment if CRUD originated from Rails or not, I'd be curious to know. cc
Until today, I did not realize that MVC is a different way of saying, "3-tier web application". I have long known that I need to separate out my presentation, business logic, and data layer but never realized until today that this is what MVC does. I will even have to admit that it was out of so many SP posts of more people then not, not understanding MVC. As soon as I'd put two and two together, the fanfare in my programmatic mind went off. I had streamers coming out of my ears, confetti out of my nose, and then another sip of my coffee snapped me out of it to realize it still wasn’t "presssto! finito!" and that it was lunch time already!
RSS feed for comments on this post · TrackBack URI
Leave a reply