Russell (zimzat) wrote,

  • Mood:
  • Music:

Tech Talk: Designing and Coding; PHP 5

I've spent the majority of my weekend designing and coding.

The main highlight was an attempt at writing Imperial Kingdoms from scratch again. The reasoning for this, rather than just trying to re-write it, is because it was originally written, and last modified, almost a year ago. The framework system and code itself predates my leap forward to the "elite" coding standard that happened during the Summer of Code last year. I've started writing it with real objects (vs object-encapsulated functions). I've made some decent head-way on that, but am hitting a couple of snags in my attempt not to duplicate any effort.

I eventually got to the point where I realized I would need to create another framework. I could simply create a mock framework and then later plug it into a real framework, but that would require nearly as much effort as just doing it right the first time. Instead I decided to revisit the Zap framework I started working on after the Summer of Code.

The production server of Imperial Kingdoms was "accidentally" upgraded to PHP 5 and MySQL 5 a few weeks ago. Since I'm no longer tied to PHP4 by the production server, I've dumped the idea of supporting PHP4 in the Zap framework. The use of PHP 5 alone gives me a number of advantages for making the framework easier to handle, particularly with exceptions, automatic pass-by-reference objects, method and parameter visibility, and interfaces / abstract classes. MySQL 5 also has the advantage of triggers and multiple index keys which will allow for table audits and faster index look-ups.

I've already switched over to exceptions and automatic pass-by-reference objects. My next task will be implementing interfaces and abstract classes. I'll also be switching the unit testing framework to phpUnit (3). Those will be a task for another day, though, because it is bed time for me. I have a long day of work ahead of me tomorrow.</lj-ct>

  • Post a new comment


    Anonymous comments are disabled in this journal

    default userpic

    Your reply will be screened

  • 1 comment