Modularer Aufbau - Wie?

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Modularer Aufbau - Wie?

    Tag,

    ich bemerke, dass immer mehr Soft- und Groupware mit PHP einen modularen Aufbau enthält. Ich wollte einfach mal fragen, was es da so für Konzepte gibt, seine Scripte erweitern zu lassen.

    Das fängt bei profanen Sachen, wie ich neuen Code als Modul in den Rest des Codes einbaue, ohne an den PHP-Dateien selbst herumfummeln zu müssen.
    Wie wäre es mit dem Unix-Programm 'patch' oder der Möglichkeiten eine Konvention aufzustellen und zu sagen: Im Unterverzeichnis xyz meiner Software werden neue Module abgelagert in Form von Dateien mit speziellen Namensmuster und speziellen Code.

    Gibts da vielleicht noch elegantere Lösungen?

    Ich meine neue Code-Stücken zu integrieren geht ja dank OOP mittels 'extends' oder '::' sehr einfach und mit dem neuen PHP 5-Modell noch besser, aber ich scheitere schon daran, die Module einzubinden.

  • #2
    dazu hatten wir schon öfters ein paar ansätze im BS Forum.

    Kommentar


    • #3
      Naja, also die Suchfunktion liefert mir nur wenig Relevantes.

      Anscheinend ist das Einbinden des Modul-Codes aus einem bestimmten Verzeichnis die populärste Lösung...ok.

      Das nächtse Problem wäre die Integration des Modul-Codes mit dem bestehenden Code. Hier würde ich so viel Freiheit wie möglich fordern. Es muss genügen das Modul einfach nur in das Verzeichnis zu schieben.

      Die Basis-Scripte suchen im Modul-Pfad nach Modulen, die zu ihnen gehören und inkludieren diese.
      Die Module müssen irgendwie so funktionieren, dass sie dem Verhalten der Klassenvererbung entsprechen - den bestehenden Code also nicht verändern, sondern nur zur Laufzeit erweitern. Mit Klassen könnte das gehen, aber ich kann solche ja nicht re-definieren, bzw. erweitern.

      Die Kindklassen heißen immer anders. Wenn ich Kindklassen verwenden würde, müsste ich dem Original-Code irgendwie sagen können, dass er diese verwenden soll.

      Kommentar

      Lädt...
      X