Blue Static

ISSO3

Posted on August 16, 2006 at 22:25 UTC, filed under the category Bugdar.

A few posts ago, I mentioned ISSO3. Well, work has been started on the trunk. ISSO3 will require PHP 5 or higher. I know a lot of hosts don’t yet meet this requirement, which is why ISSO 3 won’t be used publicly for quite some time. But that is a Good Thing(tm) because it allows plenty of time to give ISSO the overhaul it needs.

What’s different so far?

There’s now no more single kernel that you instantiate. Instead, you use the BSLoader class (now all classes are prefixed with “BS” for Blue Static) to create a new BSRegister. BSLoader is responsible for loading modules and creating new registers. BSRegister is responsible for setting objects for a given key, like this:

$register = BSLoader::NewRegister();
$register->register('db', BSLoader::LoadModule('DB/MySQL.php'));

Then, you can get the object later:

$register->get('db')->query("SELECT * FROM foo");

BSLoader also has the ability to set a “main register” which is the register that all modules are linked to by default (if they need components from other modules). This allows you to do this:

BSLoader::SetRegister($register);

… and then in some function, you don’t even worry about scope:

function random_function()
{
     $result = BSLoader::GetRegister()->get('db')->query("SELECT * FROM moo");
}

So that’s what’s happening on the ISSO3 front. And because ISSO is no longer installed separately, it will stop getting standard versions (3.0.0) with the release of ISSO3 and instead will be given build/release numbers. ISSO3 will probably be somewhere between #11 and #13.

I’ll post more about ISSO3 development as it happens.

As a side note, Bugdar Beta 1 has been very-positively received with only minimal bugs. If all goes well, we could see another beta sometime next week. I do think we’re on track for a early-September final release.