Mailinglisten-Archive |
Hi Sven,
Am Dienstag, 25. Juli 2006 10:11 schrieb Sven Geßner:
> Leider bin ich mehr oder weniger am Anfang der Entwicklung, also kann
> ich dazu recht wenig aussagen. Ich habe nur teilweise fertige
> Programme die ich einbinden möchte. Gästebuch, blog, Galerie...
> Daher wollte ich auch keine fertige Lösung.
wenn Du in diversen Bereichen ohnehin schon fertige Lösungen einsetzt,
dann kannst Du auch noch eine fertiges Templatesystem einsetzen. :-)
> >> Wie kann ich das nochmachen.. Vielleicht mit "fopen" usw.
> >> aber wie kann ich dann den Code ausführen??
> >
> >Die Codeausführung ließe sich mit eval() erreichen.
>
> Ich dachte eval() geht nicht im Safe_mode_on betrieb..??
Nein, ich vermute, Du verwechselst es mit exec(). eval() unterliegt in
den Standardeinstellungen keinen Restriktionen durch SAFE_MODE:
http://www.php.net/manual/en/features.safe-mode.functions.php
> > // Datei holen
> > $sDateiInhalt = file_get_contents('include.inc');
> > // Inhalt ausführen und ausgeben
> > eval($sDateiInhalt);
>
> Geht das auch wenn ich html-code und php-code in der datei habe?
> Wie muss ich den php-code kennzeichnen?
> ich habe php 5.14 im webspace
Ja, das geht auch, wenn in der Datei HTML-Code ist. eval() ist aber
recht hinterhältig. Lese Dir mal die Seite im Online-Handbuch durch:
http://de.php.net/manual/en/function.eval.php
Ich nenne Dir hier absichtlich die englische Seite, weil diese
ausführlicher ist, als die deutsche und dabei einige wichtige
zusätzliche Informationen enthält!
Kurz gesagt: Ich würde eval() hier nicht einsetzen. Der Sinn dieser
Lösung ist auch nicht wirklich gegeben, weil es im Endeffekt in Deinem
Fall einem include() gleich kommt. Wozu also der Umweg... :-) War
vorhin nicht ganz zuende gedacht von mir... ;-)
> >3. Trennung von Programm und Ausgabe auch auf Dateiebene, d.h. die
> >Verwendung von Templates. Eine fertige Lösung hierfür wäre das
> >Templatesystem Smarty.
>
> Vielleicht stelle ich mir das zu schwer vor, ein System zu nutzen.
> Ich werde mich mal daran wagen demnächst...
Ich programmiere meine Website gerade neu und setze dabei jetzt auch
Smarty ein. Das ist wirklich sehr einfach. Habe keine Angst. Du
solltest halt zunächst einmal das Handbuch gründlich lesen. Die
Einarbeitungszeit liegt bei wenigen Stunden. Danach kannst Du
eigentlich direkt loslegen und Dich Stück für Stück vorarbeiten.
> >> Ich möchte keine fertige Lösung nutzen.
> >
> >Schade. Eigentlich solltest Du Dir einfach mal Smarty ansehen. Sehr
> >einfach zu installieren. Sehr einfach zu benutzen, gleichzeitig aber
> >sehr mächtig, d.h. Du kannst klein anfangen und immer mehr wachsen.
> > :-)
>
> Ich habe dabei nur die Befürchtung wenn ich es nutze bzw. erstmal
> verstehe, das ich mich zuweit von der Hand Programmierung weg bewege
> und den Lerneffekt nicht mehr habe...
Das kann ich sehr gut nachvollziehen. Das habe ich zunächst auch so
gemacht. Allerdings muß ich Dir sagen, daß Smarty so genial einfach und
gleichzeitig genial mächtig ist, daß ich mich im Nachhinein frage,
warum ich das nicht schon seit 4 Jahren verwende... ;-)
Es nimmt Dir auch nicht viel von der Handprogrammierung ab. Es ist ja
"nur" die Template Engine. Die Daten für das Template mußt Du
zusammenstellen, das Template mußt Du bauen etc. Smarty übernimmt für
Dich nur, die Daten in das Template einzubauen. Dabei gibt es noch
einige nette Dinge wie ausgefeiltes Caching etc. Also wirklich gut.
Wenn Du Smarty einsetzt, kannst Du Dich auf die wichtigen und
inhaltlichen Dinge Deiner Anwendung konzentrieren und mußt nicht noch
ein Templatesystem basteln, welches dann immer wieder
Unzulänglichkeiten aufweist, die Du dann wieder selbst beheben mußt.
Also mein Tip: Guck Dir vorher Smarty einfach mal an. Probier es selbst
aus. Dann kannst Du immer noch entscheiden, daß Du es selbst machen
willst. Nachdem ich Smarty ausprobiert habe, habe ich mich allerdings
geärgert, daß ich das nicht schon früher getan habe und jahrelang mit
meiner eigenen halbgaren Lösung gewerkelt habe. :-)
Viele Grüße
Lutz
php::bar PHP Wiki - Listenarchive