kostenloser Webspace werbefrei: lima-city


Ausgelagertes html-Dokument oder mit PHP erstellen?

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    rap-brainbow

    rap-brainbow hat kostenlosen Webspace.

    Hallo ihr Lieben,

    Ich hab mal eine Frage für meine Website. Ist es geschickter, wenn ich z.B. immer eine Tabelle als Layout benutze und diese dann mit Inhalt fülle, als ausgelagertes html-Dokument zu erstellen, dass ich dann einbinde und in einer PHP-Schlefenfunktion durch ersetzen mit Inhalt fülle oder doch lieber die Tabelle direkt in der PHP-Funktion erstellen?

    Danke
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. w*****e

    Guten Tag,

    ich würde sagen, dass es darauf ankommt, ob du dein Layout leicht ändern können möchtest und deshalb eine Vorlage erstellst die du leicht ändern kannst. Oder ob du sagst, dass du das Layout an den Inhalt anpassen möchtest, dann ist es sinnvoller die Tabelle live zu generieren.

    Ich hoffe ich konnte dir damit deine Entscheidung erleichtern.
  4. Autor dieses Themas

    rap-brainbow

    rap-brainbow hat kostenlosen Webspace.

    Dass Problem beim Erstellen in der PHP-Funktion ist, dass wenn ich nachher den Quellcode betrachte, sich alles in einer Ebene befindet! Kann ich das irgendwie ändern?
  5. hackyourlife

    Moderator Kostenloser Webspace von hackyourlife

    hackyourlife hat kostenlosen Webspace.

    rap-brainbow schrieb:
    Dass Problem beim Erstellen in der PHP-Funktion ist, dass wenn ich nachher den Quellcode betrachte, sich alles in einer Ebene befindet! Kann ich das irgendwie ändern?
    Meinst du hier wirklich Ebene oder eher Zeile?

    Wenn du Zeile meinst kannst du ja ganz normal mit Konstrukten wie "\n" Zeilenumbrüche erstellen ;)

    Das hilft dir möglicherweise auch noch zum Verständnis:
    <?php
    $titel = 'Eine Seite';
    $inhalt = array(
    'Eintrag 1' => 'Das enthält irgend eine nützliche Info',
    'Eintrag 2' => 'Hier gehört was anderes informatives hin.'
    );
    ?><!DOCTYPE html>
    <html>
    	<head>
    		<title><?php echo($titel); ?></title>
    	</head>
    	<body>
    		<table>
    <?php
    			foreach($inhalt as $name => $daten) {
    ?>			<tr>
    				<td><?php echo($name); ?></td>
    				<td><?php echo($daten); ?></td>
    			</tr>
    <?php
    			}
    ?>		</table>
    	</body>
    </html>
    Das ergibt ganz normalen lesbaren HTML-Code mit Eintückung und Zeilenumbrüchen; es sieht so aus als ob es von Hand geschrieben worden wäre.
  6. Autor dieses Themas

    rap-brainbow

    rap-brainbow hat kostenlosen Webspace.

    Jap, ich meinte Zeile, hatte gedacht ich hätte es verbessert...

    Danke, genau das hat mich immer davon abgehalten, das in einer PHP-Funktion zu lösen weil es natürlich sehr unübersichtlich wird. Dann werd ich das jetzt so machen.
  7. rap-brainbow schrieb:
    ... weil es natürlich sehr unübersichtlich wird.
    das sehe ich sogar zweifach anders
    1. du kannst eine 'echo'-orgie verhindern, was viel performanter ist
    2. und weil es genau so übersichtlich ist:
    <?php
    
    // am anfang machst du alle "berechnungen":
    $titel  = 'Eine Seite';
    $inhalt = array(
      'Eintrag 1' => 'Das enthält irgend eine nützliche Info',
      'Eintrag 2' => 'Hier gehört was anderes informatives hin.'
    );
    
    $rows = null;
    foreach($inhalt as $name => $daten) {
      $rows .= <<< EOT
          <tr>
            <td>$name</td>
            <td>$daten</td>
          </tr>
    EOT;
    }
    
    
    // wenn alles fertig ist, fügst die fertigen daten einfach in dein html
    echo <<< EOT
    <!DOCTYPE html>
    <html>
    	<head>
    		<title>$titel</title>
    	</head>
    	<body>
    		<table>
    $rows
        </table>
      </body>
    </html>
    EOT;


    Beitrag zuletzt geändert: 9.4.2012 0:05:35 von hemiolos
  8. hackyourlife

    Moderator Kostenloser Webspace von hackyourlife

    hackyourlife hat kostenlosen Webspace.

    hemiolos schrieb:
    rap-brainbow schrieb:
    ... weil es natürlich sehr unübersichtlich wird.
    das sehe ich sogar zweifach anders
    1. du kannst eine 'echo'-orgie verhindern, was viel performanter ist
    Und wenn du genügend oft deine Schleife durchlaufen lässt wird deine Variante womöglich genauso viel Performance verbrauchen, weil du jeweils Variablen expandierst und danach Strings zusammenfügst. Hingegen wird bei echo-Orgie innerhalb der Schleife 2x echo ausgeführt und weder eine Variable expandiert noch Escapesequenzen expandiert noch Strings zusammengefügt, was soll daran also so schlimm sein? In diesem Fall sollte der Unterschied doch fast 0 sein.

    Über Übersichtlichkeit lässt sich streiten; das ganze war nur ein Beispiel, dass der HTML-Code schön mit Zeilenumbrüchen und Einrückungen sein kann, auch wenn PHP genutzt wird.
  9. hackyourlife schrieb:
    ... In diesem Fall sollte der Unterschied doch fast 0 sein.
    aber nur fast ;)
    <?php
    $t1 = microtime(1);
    for($i = 0; $i < 5000000; $i++) {
      echo '1';
    }
    
    $t2 = microtime(1);
    $o  = '';
    for($i = 0; $i < 5000000; $i++) {
      $o .= '1';
    }
    $t3 = microtime(1);
    
    $res = "<hr />$o<hr />$t1 ** $t2 ** $t3<hr />";
    exit(''.$res);
    und wenn jetzt jemand sagt 'ja bei 5mio schleife so wenig gewinn ...', kann ich nur sagen, jeder gewinn ist ein gewinn.
  10. Autor dieses Themas

    rap-brainbow

    rap-brainbow hat kostenlosen Webspace.

    Eigentlich geht es mir hauptsächlich um die Übersicht, vor allem im Quellcode bei der Fehlersuche. Aber ich denke ich bin bei der PHP-Variante besser bedient.

    Trotzdem einen Dank für eure Tipps
  11. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!