grub: Design mittels PHP aus Datenbank auslesen

Morgen
¨
Ich entschuldige mich erst einmal wenn der Themenbereich nicht der richtige ist. Ich bin schwer am schwanken zwischen PHP oder Design ;)

Ich würde gerne mein gesamtes Design für eine Website aus einer Datenbank auslesen. Ich habe zu diesem Zweck eine Datenbank mit der nötigen Tabelle errichtet. In der Tabelle befindet sich der obere Teil des HTML-Quelltextes und der Untere.

BSP in der Tabelle:
<!--------------------------------------------------------------->
<?php
 print($doctype);
?>
<!--Anfang-->
<html>
 <head>
 <?php
  print($metatags);
 ?>
 <title>Beispiel</title>
 <link rel="stylesheet" type="text/css" href="/format.css">
 </head>
 <body>
  <table border="0px" width="100%" class="body" cellspacing="0px" cellpadding="0px">
   <tr>
    <td width="4%"></td>
    <td>
     <table border="0px" width="100%" class="TabelleInhalt">
<!--------------------------------------------------------------->

So weit so gut. Aber sobald ich das Design auslese und ausgeben will wird der PHP-Code nicht mehr interpretiert. Der ausgegebene Quelltext sieht dann genau so aus wie in der Datenbank.

Warum passiert das und was kann ich dagegen tun?

  1. Moin!

    Warum passiert das und was kann ich dagegen tun?

    Du hast "Text in einer Datenbank". Und du gibst "Text in einer Datenbank" aus.

    Aber nirgendwo gibts den Schritt "Interpretiere den 'Text in einer Datenbank' als PHP-Programmcode".

    Ich halte dein Vorgehen sowieso für nicht ideal.

    Erstens: Verwende doch lieber eine vernünftige Template-Engine, anstatt dir selber eine zusammenzufrickeln. Mit einer ordentlichen Templateengine hast du zum Beispiel den Vorteil, dass du keine Seitenfragmente in die DB schreiben mußt, sondern komplette Seiten erstellen kannst.

    Zweitens: Die Seiten in eine DB zu schreiben halte ich nicht unbedingt für ideal. Das Dateisystem ist auch nicht zu verachten, und mit Sicherheit nicht langsamer.

    Drittens: Mit einer schönen Template-Engine mußt du dir zwangsläufig einen guten Programmierstil angewöhnen: Eingabe, Verarbeitung, Ausgabe. Du bereitest alle darzustellenden Informationen erst auf, schickst sie dann an die Template-Engine, und erst am Schluß wird die Seite generiert. Das hat auch den Vorteil, dass du dich im PHP-Code nicht mehr mit HTML herumschlagen mußt - dafür ist dein Template da, welches alle benötigten Tags schon enthält und nur noch auf die Textinhalte wartet.

    - Sven Rautenberg

    1. Kannst du mir ein paar Links zu solchen Template-Engines geben?

      Danke für die schnelle Antwort

      1. Moin!

        Kannst du mir ein paar Links zu solchen Template-Engines geben?

        Aber klar:
        1. Google weiß alles: :)
        http://www.google.com/search?q=php+template+engine

        2. Smarty http://smarty.php.net/ - groß, mächtig
        3. vlibTemplate http://vlib.activefish.com/ - etwas "kleiner" und normaler - würde ich dir empfehlen.

        Ansonsten gibts natürlich noch reichlich weiteres Zeugs.

        - Sven Rautenberg

        1. Danke :)

          Dann les ich mich da mal ein...

          PS: Google ist allmächtig ;o)