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