Ben aşağıdaki kodu vardır:
$e1 = call_user_func(array("MySQL_Extension", "getInstance"));
$e2 = call_user_func(array("Error_Extension", "getInstance"));
self::$extensions->MySQL = $e1;
self::$extensions->Error = $e2;
// Debug
echo "<pre>";
print_r(self::$extensions);
Her getInstance () yöntemi, bu gibi görünüyor:
public static function getInstance()
{
if (self::$_instance == null)
{
self::$_instance = new self;
}
return self::$_instance;
}
Her ikisi de sınıfları aynı "Extension_Abstract" sınıfını genişleten, ama nedense, listelenen "print_r" hata ayıklama ifadesi aşağıdaki çıktılar:
stdClass Object (
[MySQL] => MySQL_Extension Object
[Error] => MySQL_Extension Object
)
Iki "MySQL_Extension" nesneleri dönen ve tamamen Error_Extension sınıfını görmezden olacağını neden herhangi bir fikrin var mı? Kafam karıştı!