Hi Martin,
[In C] gibt es auch Includes, aber das spielt sich alles *vor* dem Compiler- bzw. Assemblerlauf ab. Das Ergebnis ist ein in sich abgeschlossenes Programmmodul, dessen Umfang der Programmierer exakt vorherbestimmt hat. Möchte ich während der Laufzeit weitere Module dynamisch dazuladen und ausführen, muss ich andere Techniken verwenden.
Das z.B. in C die Includes vor dem Compile-Vorgang ablaufen war mir bewusst, aber über das Nachladen von Programm-Code habe ich mir noch keine Gedanken gemacht - muss man sich dann da selber über das Einlesen von Dateien etwas basteln und die Inhalte der Dateien interpretieren, oder wie läuft das ab bzw. könnte das ablaufen?
Im Gegensatz zu Windows-DLLs haben includierte Scripte in PHP allerdings leider keinen eigenen Adress- bzw. Namensraum. Eine saubere Modularisierung, wie sie für ein Plugin-Konzept wünschenswert wäre, ist dadurch IMHO sowieso nicht möglich.
Wofür gibt es den Klassen? Wenn man alles schön in diverse Klassen trennt (was man ja eigentlich IHMO sowieso machen sollte) gibt es mit den Namensräumen doch keine Probleme mehr. Abgesehen davon meine ich mich zu erinnern in den Plänen für PHP6 gelesen zu haben, dass Namensräume eingeführt werden sollen oder es zumindest versucht werden soll.
MfG, Dennis.