Now on each page load i know i will have to load a few classes because they all are generally needed, so i thought i'd create a config/common.php page that would initialise this, but then i thought what about the pages that wouldnt require most of the classes.

How about passing an array to the config/common page that would be like so;

PHP Code:
array('template' => 'tpl'
=> 'db',
'specificclassforpage' => 'specificobjectnameforclassforpage'); 
Now that'd be OK, as i'd specificy the name of the class and filename with the first option in the array. Of course the filename for MySQL would be lowercase so i would just lowercase the values, but when i go to create an object it would use the original value for eg;

PHP Code:
foreach ($classes as $class => $obj) {
$filename strtolower ($class);
loadClass ($filename.".class.php");
$obj = &new $class;

Now the big problem is, passing the parameters.

What I have so far i tested and it worked well, but yeh.