suntrop
Erfahrenes Mitglied
Hallo. Ich verpackte mal zwei Fragen hier in das Thema.
Ich habe eine Klasse die Fehler-Logs erstellt. Wenn ich mit write() ins Log schreibe geht alles einwandfrei. Wenn ich jedoch in einer anderen Funktion oder in einer anderen Klasse write() aufrufe, dann gehts nicht.
Jetzt stellt sich mir die Frage: Soll ich eine zweite Instanz mittels
aufrufen oder soll ich das einmal erstellte $phpLogger global machen? Letzteres soll kein guter Programmierstil sein (mukelt man). Die erstgenannte Variante ergibt bei mir jedoch die Nachricht:
phpLogger.class.php (ab Zeile 78)
Was ist sinnvoller? Überall neue Instanzen erstellen oder einmal in der config.php instantiieren und das Objekt global verfügbar machen?
Danke euch für die Hilfe!
Grüße suntrop
Ich habe eine Klasse die Fehler-Logs erstellt. Wenn ich mit write() ins Log schreibe geht alles einwandfrei. Wenn ich jedoch in einer anderen Funktion oder in einer anderen Klasse write() aufrufe, dann gehts nicht.
Jetzt stellt sich mir die Frage: Soll ich eine zweite Instanz mittels
PHP:
$phpLogger = PHPLogger::getInstance();
$phpLogger->write("Beispiel", INFO, "Info-Logging");
Code:
Notice: Object of class PHPLogger could not be converted to int in /ordner/php/classes/phpLogger.class.php on line 79
phpLogger.class.php (ab Zeile 78)
PHP:
public static function getInstance() {
if (PHPLogger::$instance == 0) {
PHPLogger::$instance = new PHPLogger();
}
return PHPLogger::$instance;
}
Was ist sinnvoller? Überall neue Instanzen erstellen oder einmal in der config.php instantiieren und das Objekt global verfügbar machen?
Danke euch für die Hilfe!
Grüße suntrop