PHP - Erweiterung der Klasse

8

Ich habe in PHP sehr viel Code geschrieben, der objektorientiert ist, aber bis jetzt waren alle meine Klassen "singular", ich nehme an, Sie können es nennen. Ich bin dabei, mehrere Klassen (die 5 oder so identische Methoden haben) zu ändern, um eine Klasse zu erweitern (um sich von doppeltem Code zu befreien). Ich stoße auf ein paar Probleme.

Ich versuche, auf eine Methode in einer übergeordneten Klasse zuzugreifen, aber Sie können das Problem sehen.

Elternklasse:

%Vor%

Kind Klasse:

%Vor%

Code, der versucht, auf alle Informationen aus dieser Tabelle von der php / html Datei zuzugreifen:

%Vor%

Wie Sie sehen können, wurde der meiste Code nicht mit der neuen Vorgehensweise verschmolzen. Ich muss das self :: $ table_name ändern, das nicht mehr auf die neue Weise funktioniert, die ich Sachen mache. Ich werde ungefähr 5 Klassen haben, die dieses Objekt erweitern, also was ist der beste Weg, dies zu kodieren, so dass ich mit einer Methode auf verschiedene Tabellen zugreifen kann (anstatt diese exakte Methode find_all () in 5 verschiedenen Klassen einzuschließen)     

KickingLettuce 25.06.2012, 17:45
quelle

2 Antworten

18

Sie können eine späte statische Bindung als unten versuchen, oder eine Singleton-Lösung sollte auch funktionieren:

%Vor%     
Matthijs 25.06.2012, 18:12
quelle
2

Sie sollten sich das Konzept der späten statischen Bindung in PHP ansehen. Auf diese Weise können Sie auf eine statische Konstante oder Funktion von der Klasse zugreifen, die aufgerufen wurde.

    
Jeremy Livingston 25.06.2012 18:00
quelle