|
|
|
|
|
|
|||||||
| PHP-Fortgeschrittene Arbeiten mit PHP ohne Einschränkungen |
|
|
|
LinkBack | Themen-Optionen | Thema bewerten |
|
|
#1 (permalink) |
|
Erfahrener Benutzer
Registriert seit: 05.02.2005
Beiträge: 271
![]() |
Hi,
Ich habe z.Z. eine rekursive Funktion geschrieben in der 3 Klassen aufgerufen werden. In der Funktion befinden sich die Objekte folgender Klassen 1. von einer MySQL-Klasse 2. einer Klasse um die Links vom Verzeichnissbaum zu erstellen 3. einer Klasse für Templates, um das Design anpassen zu können Ich kenne die Möglichkeit eine Klasse mit extends zu erweitern, aber muss ich erst mehrere Klassen nacheinander vererben um die Eigentliche Klasse z.B. Navigationsklasse zu erzeugen, oder gibt es noch einen besseren Weg? Und wie sieht es aus, wenn man die Letzte Klasse um eine weitere Klasse erweitern will?
__________________
((2b) || (!2b)) |
|
|
|
|
|
|
|
PHP Code Flüsterer
Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten
|
|
|
|
#2 (permalink) |
|
Benutzer
Registriert seit: 03.06.2003
Beiträge: 89
![]() |
ich kann dir jetzt nicht genau sagen wie es in PHP geht aber vom Objektmodell her kann man doch auch Mehrfachvererbung machen.
ich meine so etwas auch schonmal in PHP gesehen zu haben Code:
neueKlasse extends alteKlasseA, alteKlasseB Wenn du dann von neueKlasse eine weitere ableiten willst ist das doch auch kein Problem. Code:
nochNeuereKlasse extends neueKlasse
__________________
- Das Leben ist eine Spirale, man kotzt immer in der selben Kurve. - Frauen behalten nur für sich, was sie nicht wissen. |
|
|
|
|
|
#3 (permalink) |
|
Erfahrener Benutzer
Registriert seit: 18.07.2004
Beiträge: 2.162
![]() |
Mehrfachvererbung geht in PHP nicht.
"Alpha Centauri", was genau ist dein Problem, deine Frage? Basti
__________________
www.bastian-fenske.de |
|
|
|
|
|
#4 (permalink) |
|
Erfahrener Benutzer
Registriert seit: 05.02.2005
Beiträge: 271
![]() |
Ich will alle Teile im Programm als Klassen schreiben bzw. als Objekte definieren. Es soll erreicht werden das jeder Teil autonom arbeitet und ich nurnoch teile einbinden muss und die Parameter an den Klassen verändern brauche.
So auch für eine Klasse, die für die Navigation zuständig ist. z.Z. ist die Navigation eine Funktion. Jetzt habe ich aber das Problem das die Navigation nur funktioniert wenn in der Funktion mindestens das Objekt für die MySQL-Abfrage vorkommt. Damit kann ich die Funktion die jetzt einen Navigationsbaum auf- und zuklappen kann nicht als Klasse schreiben. Vieleicht geh ich da etwas falsch rann aber ich würd es schon gern als Modul programmieren. Ich weiss nicht ob der jetzige Weg über eine Funktion der richtige ist. Der Navigationsbaum funktioniert schon aber irgendwie iss mir das alles zu verbaut. ![]()
__________________
((2b) || (!2b)) |
|
|
|
|
|
#5 (permalink) |
|
Erfahrener Benutzer
Registriert seit: 18.07.2004
Beiträge: 2.162
![]() |
Hi.
Es ist völlig "normal", dass Klassen bzw. Objekte untereinander abhängig sind. Neben der Vererbung gibt es Assoziationen und Aggregationen. Im Falle eines Navigationsbaum macht es Sinn, diesem ein Sitemap-Objekt, also den eigentlichen Baum zu übergeben. Ich hab z.B. in einem System pro Menü ein Objekt und alle bekommen das gleiche Sitemap-Objekt, sowie die Information, welcher Knoten gerade "aktiv" ist. Um diese elemente dann der Seite beizufügen bietet sich das Decorator-Pattern an. Dass heißt, die Seite wird mit den einzelnen Menüs "dekoriert", ihre Schnittstelle ändert sich dadurch jedoch nicht. Das Sitemap-Objekt braucht natürlich die Daten oder Zugang zu den Daten. Dazu gibt es unzählige Möglichkeiten: - MySQL-Objekt übergeben - Eigenes DAO übergeben, dass die Zugriffe kapselt - Übergabe der Daten als DataTransferObject oder sowas... - ... Die Autonomie der Objekte kannst du also knicken. Wichtiger ist, dir klar zu machen, wie die Abhängigkeiten aussehen, wie die Zuständigkeiten aussehen, die Schnittstellen etc. Basti
__________________
www.bastian-fenske.de |
|
|
|
|
| Themen-Optionen | |
| Thema bewerten | |
|
|
Ähnliche Themen
|
||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| Variable aus Klasse herausbekommen | GSJLink | PHP Tipps 2008 | 7 | 16.02.2008 22:25 |
| String-Parser Klasse - was muss rein? | Matze | PHP Tipps 2007 | 2 | 08.04.2007 22:14 |
| Eine Klasse mehrere Dateien | sn00py | PHP Tipps 2006 | 6 | 08.05.2006 11:40 |
| aus einer funktion auf funktion anderer klasse zugreifen | seejay | PHP Tipps 2006 | 3 | 05.01.2006 10:37 |
| Klasenname einer nicht instanziierten Klasse | DerDesian | PHP Tipps 2007 | 9 | 30.11.2005 13:13 |
| Instanz einer Klasse in einer anderen Klasse verwenden | Buhmann | PHP-Fortgeschrittene | 7 | 28.10.2005 23:12 |
| Klasse einbinden? | PHP-Fortgeschrittene | 12 | 05.10.2005 16:18 | |
| [Erledigt] Führerschein für Klasse A+B.. Preis OK??? | Off-Topic Diskussionen | 20 | 13.07.2005 18:44 | |
| Rückgabewert auf einer Klasse anders als in der Klasse | micbur | PHP Tipps 2005-2 | 6 | 10.06.2005 15:06 |
| Problem mit Übergabe einer Klasse in PHP4 | PHP-Fortgeschrittene | 10 | 08.01.2005 21:00 | |
| [Erledigt] Instanz bilden innerhalb einer Klasse | PHP Tipps 2004 | 7 | 11.12.2004 12:58 | |
| Klasse holt sich die Klasse | PHP-Fortgeschrittene | 9 | 07.10.2004 11:53 | |
| Brauche Hilfe bei meiner ersten Klasse | PHP-Fortgeschrittene | 9 | 24.09.2004 17:09 | |
| Klassenobjet in anderer Klasse benutzen | inu | PHP Tipps 2004 | 6 | 19.09.2004 10:58 |
| Klasse ändern | UniQ | PHP Tipps 2004 | 5 | 24.08.2004 14:46 |

Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.