Ho creato una classe autoloader che funziona come previsto, ma ho notato un comportamento strano. Quando echo i risultati delle classi trovate che vengono passate al metodo che gestisce la funzione spl_autoload_register()
. Sto vedendo che ho il doppio. Come se lo script venisse chiamato due volte, e poiché è un singleton, i dati costruiscono 2 array nel mio caso.php singleton continua a chiamarsi due volte in una classe di caricatore automatico
Sto usando questo metodo per creare la mia Singleton
public static function init()
{
if (!isset(self::$instance))
self::$instance = new self();
return self::$instance;
}
Ho poi il costruttore privato. Ho passato attraverso ogni metodo di debug cercando di vedere dove sembra creare un clone di se stesso.
Ho il sospetto che le mie classi e classi siano state clonate da qualche parte nella funzione spl_autoload_register().
qualsiasi aiuto sarebbe apprezzato.
Avete impostare la funzione __clone di conseguenza? – busypeoples
Puoi pubblicare il codice completo della classe? – busypeoples
okay, pubblicato. Se eseguo questo come istanza non singleton, allora non clonerà se stesso. – Eli