Komponentenkapselung in PHP
Wurzelzwerg
- php
Hallo allerseits,
wie gehe ich am sinnvollsten vor, wenn ich ein PHP-Projekt bauen will, in das ich dynamisch einzelne Module "einhängen" kann. Am liebsten will ich das so machen, daß ich per "include" das entsprechende Klassenmodul mit einer abgeleiteten Klasse einhänge. Soweit kein Problem, aber ich will, daß das Modul intern unabhängig vom Hauptprogramm arbeitet und ggf. auch aus mehreren PHP-Files bestehen kann. Und nun habe ich folgendes Problem:
Das Hauptprogramm inludet eine PHP-Datei, die verschiedene Funktionen bereitstellt, die einfach irgendwas tun. Wenn ich jetzt in der Modulklasse auch eine PHP-Datei einbinde dürfen die Funktionen innerhalb des dieser Datei z.B. nicht so heißen, wie die, die im Hauptprogramm eingebunden wurde, weil diese dann schon da sind.
Ich versuchs mal als Grafik:
Hauptprogramm --> Funktionen.php (enthält "sub abc")
|
Schnittstellenklasse --> Funktionen2.php (enthält "sub abc")
sollte ein Problem geben, weil Funktion "abc" 2 mal auftaucht. Was ich aber will, ist, daß sich die beiden "sub abc" nicht kennen, daß icm Hauptprogramm nur die Schnittstellenklasse bekannt ist und daß sowohl Hauptprogramm als auch Schnittstellenklasse intern tun und lassen können, was sie wollen. Also ähnlich wie z.B. OLE-Dlls unter Windows. Vielleicht gibt es ja auch noch andere Möglichkeiten zur Komponenteneinbindung außer "include" udn "require" ??
vielen Dank schonmal für Eure Ideen und Hinweise
du möchtest bestimmt mvc2 machen. das ist sehr vernünftig. ich benutzte die index.php als controller. die anwendungslogik ist in einer x.php und die darstellung in einer x.htm template datei.
gemeinsame teile (steuerung..) kannst du in einer gemeinsam.php klasse zusammenfassen. für die individuellen teile einer neuen seite eine eigene klasse, welche die gemeinsam.php erweitert.