Mailinglisten-Archive |
hi, wir haben gerade so etwas ähnliches realisiert bzw. sind gerade mittendrin.... Wird letzendlich ein kleines Content-Management-System. > hallo, > > ich habe vor, bei einem projekt den programmieraufwand und das updaten > zu erleichtern, indem ich ein template-file, sagen wir index.php, habe. > mit einem querystring übergebe ich eine id, welche die gewünschte > unterseite spezifiziert. > > aus einer datenbank soll dann der dazugehörige content ausgelesen werden > und in das index.php geschrieben werden. bei reinem html-content kein > problem - doch wie gehe ich vor, wenn plötzlich auch noch php-code > ausgeführt werden sollte? z.b. ein adressverzeichnis aus einem db-table > generiert werden sollte? Du hast zwei Möglichkeiten. Entweder du verwendest eval, oder du baust Dir selbst einen kleinen Parser, der die entsprechenden php-Codes rausfiltert und ausführt. Grundsätzlich würde ich empfehlen, Inhalt und Code zu trennen. Wir machen das in der Art: require ("klassea.php"); $object = new klassea.php; $content=$object -> holmirdencontent($parameter); $menue=$object -> holmirdiemenuesalsarray($paramter); $submenue=$object -> holmirdiesubmenuesalsarray($parameter); Jedes Objekt gibt einen spezifischen Text zurück der dann weiter durch ein Inhaltsmodul geparsed wird: require ("maintemplate.php") $template = new maintemplate; $template -> hauptstruktur($menue,$submenue,$content); Unser System ist so gebaut, daß nur die Hauptstruktur für jedes Projekt einmal geändert werden muß, Menüstrukturen und content kommen aus der DAtenbank. 1. Werden zunächst aus der Datenbank ausgelesen. 2. Dann entsprechenden formatiert.. Wichtig bei uns: Alle Seiten laufen über eine Hauptseite page.php, die den Rest erledigt und die entsprechenden Module aufruft. Der Aufruf der Module ist dabei immer gleich. -> d.h. einheitlich Struktur der Module.... Von außen sieht es aus wie eine html-Struktur: Alle Seiten werden mit .html aufgerufen -> z.B. wir.html Diese wird über das Apache modrewrite- Module auf page.php umgeleitet: In page.php wird die $REQUEST_URI ausgelesen. -> Hier weiß ich nicht, ob es etwas äquivalentes für NT-Server gibt.... Ist daß dann ein IIS Server? Bei uns läuft das jedenfalls wunderbar....Stellen gerade das admin-Modul fertig.... (Es gibt zwei Releases ein Testrelease - hier kann der Kunde Änderungen vornehmen.. Runrelease dies läuft für alle einzusehen..... Erst wenn der Kunde die Testrelease aktiviert, ist diese für alle zu sehen..... Das Endprodukt wird in den nächsten Wochen unter http://www.berlinerideenschmiede.de zu sehen sein. HTH Jochen Metzger http://www.steptown.com ....Ihr Berliner Einkaufsführer > > ein lösungsansatz, der mir vorschwebt, ist das ganze zur laufzeit in > eine temporäre php-datei zu schreiben und diese dann zu includen - ich > kann mir aber vorstellen, dass es einfachere möglichkeiten gibt? > > hat jemand schon ähnliche überlegungen gemacht und einen möglichst > einfach lösungsweg gefunden? > > ps. dieses erste projekt wird auf einem winnt-server realisiert, mit > installierten php-extensions. ist das eine zusätzliche knacknuss? > > gruss > mario aeby, eMeidi.com > > -- > ** http://www.php-center.de ** > Die PHP-Liste: mailto: php_(at)_phpcenter.de > http://lists.phpcenter.de/mailman/listinfo/php > > >
php::bar PHP Wiki - Listenarchive