Konzept/Struktur einer Website

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

  • Konzept/Struktur einer Website

    Hi,

    ich bin wieder mal dabei den Code meiner Website komplett zu überarbeiten und bin wieder auf das ewige Problem gestoßen, wie ich am Besten die Trennung von Code und Design und Modularität hinkriege.

    Was ich bisher immer gemacht/versucht habe ist:
    - Der index.php übergibt man welches Modul geladen werden soll
    - Das Modul (z.B. ein Gästebuch) generiert dann die ganzen Daten (z.B. Einträge)
    - Ein Theme-/Templatemanager "lädt" ein Theme und stellt diesem die Daten zu verfügung.
    Auf diese Weise habe ich die vollkommene Freiheit in den Themes, was wie angezeigt werden soll.

    Aber ist das auch eine gute Lösung?
    Was ich nicht will, sind irgendwelche Template-files, in denen ich irgendwie eingeschränkt werde. Es sollen schon php-dateien sein.
    Mein Problem ist, wie gebe ich am Besten die Daten an das Theme?
    Sollte das Theme in Klassen oder Funktionen aufgebaut sein?

    Mein Konzept sah bislang so aus:
    Ich habe mein ganzes Projekt in Klassen aufgeteilt.
    Die "Oberklasse" namens "engine" enthält weitere Klassenobjekte wie eine mysql Klasse, eine Theme Klasse usw.
    Die ganzen Module, auch wieder in Klassen, werden von der Engine geladen. Dabei wird unterschieden zwischen solchen, die auf Befehl ausgeführt werden sollen (z.B. Gästebuch, News...), und solchen, die immer ausgeführt werden (Statistik, Login...) und auf jeder Seite gezeigt werden sollen.
    Alle Module (ein auf Befehl ausgeführtes und die anderen der zweiten Kategorie) erstellen dann Datenarrays und übergeben diese der Themeklasse, die diese speichert.
    Am Ende wird für jedes Datenarray ein Themefile gesucht, was aus den Daten HTML macht und das Hauptthemefile fügt die einzelnen Stücke zur gesamten Seite zusammen.

    Gibt es bessere Lösungen?
    Bitte beschreibt, wie ihr eure Website strukturiert habt und wie ihr diese Probleme gelöst habt!

  • #2
    *move* to BS

    Kommentar

    Lädt...
    X