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