ich eine Codestruktur, wie dieses:Wie kann ich ein Objekt einmal für alle Methoden erstellen?
class myclass{
use App/classes/Log
public function myfunc1() {
$log_obj = new Log;
$log_obj->log('something1');
}
public function myfunc2() {
$log_obj = new Log;
$log_obj->log('something2');
}
public function myfunc3() {
$log_obj = new Log;
$log_obj->log('something3');
}
}
In Wirklichkeit habe ich 12 Methoden, die ich ein Objekt von Log
Klasse in der die meisten von ihnen zu machen brauchen. Jetzt möchte ich wissen, gibt es keinen besseren Ansatz, um das (ein Objekt) einmal zu machen? Verwenden Sie zum Beispiel eine static
-Eigenschaft und setzen Sie das Objekt darauf oder was auch immer ..
Wenn die Methode, die Sie aufrufen müssen, nicht statisch ist, dann ist das Erstellen eines Objekts, wie Sie es tun, der richtige Weg. – 121c
Mögliches Duplikat von [Erstellen des Singleton-Entwurfsmusters in PHP5] (http://stackoverflow.com/questions/203336/creating-the-singleton-design-pattern-in-php5) –
Warum nicht einfach die Log-Instanz zuweisen zu einer Eigenschaft von myclass und verwende sie in diesen Funktionen wie $ this-> log? –