Вариант 1
Передать Object как параметр к примеру Set-методом или конструктором. Для удобства можно использовать dependency injection container или просто фабрику которая делает инициализацию.
Вариант 2 (менее хорош)
Фабрика с статическим методом которая создает объект, но которая в состоянии его заменять.
Типа
class FactoryObject
{
protected static $mockObject=null;
public static function setMockObject(Object $mock)
{
self::$mockObject = $mock;
}
public static function disableMock()
{
self::$mockObject = null;
}
public function getInstance()
{
return self::$mockObject?self::$mockObject : new Object();
}
}
Таким образом ты сможеш вызывать FactoryObject::getInstance(); в классе, но при желании заменить объект ты можеш перед вызовом метода magic заменить объект посредством FactoryObject::setMockObject($object); или отменить посредством FactoryObject::disableMock();
_____________
↓↓↓↓↓↓↓↓↓↓ответ может быть здесьили в mysql_error();