php
Building a MVC Framework - An Introduction
As promised, we'll take a complete tour through the process of building a bare bones MVC framework in PHP. The goal of this series of articles is to explain MVC principles and design patterns in a useful way. This information is aimed at PHP programmers who are familiar with object oriented PHP, and have heard of, or poked around frameworks, MVC basics, and other design patterns, but are unsure how it all ties together. With all that out of the way, let's start with examining the concepts we'll cover.
Design patterns we'll cover in this introduction:
Reinventing the wheel
This code was developed due to specific constraints I wanted in a template engine, and the desire to use it in projects that unfortunately still require PHP4. It is currently pre-release code, but should work in PHP4.2 and up.
The first specification of the project was to ensure valid XHTML. I haven't yet set a DTD (for those who need full on validation), but the templates should be editable in WYSIWYG editors such as Dreamweaver without causing issues.
The Tragedy of Inline Images
I've had some time now to focus more on Drupal, and it's definitely pretty impressive. The extensibility is excellent, and in looking over my latest bookshelf addition, Pro Drupal Development, I can see that I'll be inundated with random bits of "oh I can do that?" for quite awhile.
Of course this presents me specifically with another problem, that being, how to focus my time. I can't imagine freshly stepping into PHP right now. I remember first seeing it in action at around version 3, and building small little guestbooks, and other random widgets.
DB Abstraction + SQL Generation
This is some pretty ancient code by web standards. However, it was used for a a decent amount of projects, including my early stabs at a community portal for my North American friends while I was living in Australia.
It handles basic CRUD operations without much hassle, and I built a helpdesk around this codebase as well. Unfortunately I haven't been able to keep up with the contact in the company the helpdesk was used at, so I'm unsure how well it eventually scaled.
First off, an example of it's usage:
Random Code!
A repository of random code and some explanations behind it all. Non-drupal related code is licensed under Creative Commons (see the footer for more specific licensing details), so feel free to use and abuse as you see fit. Drupal modules are GPLv3.
Testable code can be found here. Tests are created in Simple Test.
SimpleTest and 80's driving music
It's always kinda sad, the moment you realize your music tastes have largely stopped evolving. I think I read a study on that once, although for the life of me I can't seem to find it.
Anyhow, what I've noticed, is that I definitely prefer (or at least get more excited about) early/mid 90's music. It's just that familiarity I suppose, and remembering the good / bad / silly times those specific tunes bring about.
I Give Up.
After years of toying around with my own code, it's time to refocus my energy. Mundanity (aka Dissonance), was a lot of fun. A small community of random people hung out here, unknowingly pawns in my coding exercises.
It's time for a change though, and for me to narrow down my focus. As such, I've chosen Drupal to aid in that.

