Hi,
dann machst du einfach dasselbe in PHP was du in der Datenbank machst: Du abstrahierst auf einen allgemeinen Basistypen von "Seite" und schreibst dann dazu weiter abgeleitete Klassen mit speziellen Methoden, dazu entsprechen alle davon noch schön einem gleichen gleichen Interfacetypen. Wird dann eine schöne kleine Welt aus "Factories", welche für den jeweiligen Knotentypen die Daten nur aus den dafür notwendigen Tabellen zusammensuchen indem sie ein spezifisches SQL Statement genau dafür bauen.
Für eine hierarchische Generierung kannst du z.b. das Visitor-Pattern implementieren.
Gleiche (eindimensionale) Attribute, die z.b. häufig verwendet werden, würde ich als "payload" in der Knotentabelle mitverwalten (Knotentyp, Ersteller, Datum ...).
Oder du nimmst einfach schon ein existierendes CMS? ;)
Ciao, Frank