phpbar.de logo

Mailinglisten-Archive

AW: [php] php-code aus db

AW: [php] php-code aus db

Jochen Metzger php_(at)_phpcenter.de
Thu, 1 Nov 2001 23:16:35 +0100


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