2010-04-18 2 views
7

Zum größten Teil, wenn ich HTML-Code anzeigen möchte, um tatsächlich gerendert zu werden, würde ich ein 'close PHP'-Tag verwenden, HTML schreiben , dann öffne das PHP erneut.'Echo' oder 'Programmierung' auslassen HTML schreiben und PHP Code erneut starten

zB
<?php 
// some php code 
?> 
<p>HTML that I want displayed</p> 
<?php 
// more php code 
?> 

Aber ich habe viele Leute gesehen, die nur Echo stattdessen verwenden würden, so würden sie die oben so etwas wie

<?php 
// some php code 
echo("<p>HTML that I want displayed</p>"); 
// more php code 
?> 

getan haben, ist ihr jede Performance-Einbußen für ein Herausfallen und zurück in wie Das? Ich würde nicht davon ausgehen, dass die PHP-Engine die gesamte Datei in irgendeiner Weise verarbeiten müsste.

Was ist, wenn Sie die Echofunktion in der Art und Weise verwenden, die nicht wie eine Funktion aussehen Dosis, zB

echo "<p>HTML that I want displayed</p>" 

Ich hoffe, dass dies eine reine Geschmackssache ist, aber ich würde, wenn wissen, Ich habe etwas verpasst. Ich persönlich finde den ersten Weg vorzuziehen (das Zurückfallen von PHP und dann zurück), da es hilft, eine klare Unterscheidung zwischen PHP und HTML zu machen und Code-Highlighting und Hinweise für Ihr HTML zu verwenden, was immer praktisch ist.

Antwort

6

Der erste Typ ist vorzuziehen, genau aus den von Ihnen genannten Gründen.

Eigentlich ist das Echo aus ganzen Teilen von HTML als schlechte Übung anzusehen.

+0

Es ist in Ordnung, HTML auszuhacken, solange es wirklich kurz ist wie ein einfacher Link oder so ... – selfawaresoup

+0

Wenn man einen einfachen Link rekrutiert, heißt das, dass man sich mit '' escaping. Echo '' . $caption . ''; "Für Trennzeichen müssen Sie an den Attributen anstatt an den Variablen fliehen. Es ist hässlich. –

+0

Ich benutze Echo für Inline-Codierung (). Wenn Sie größere dynamische Seiten erstellen möchten, verwenden Sie die erste Option – Neale

1

Nein, es gibt keine Leistungssteigerung, die sichtbar wäre.

Manchmal ist es einfach einfacher, Inhalte mit echo auszugeben (zum Beispiel, wenn Sie innerhalb einer while- oder for-Schleife sind), als das php-Tag zu schließen.

0

Ich denke, es gibt einen Präprozessor, der die gleiche Form in die zweite konvertiert. Das passiert sowieso in ASP.NET. Und sowohl in ASP.NET als auch in klassischem ASP können sich Schleifen tatsächlich über reine HTML-Regionen erstrecken.

+0

was meinst du? Das ist nur "Verarbeitung" in PHP ... Sie können möglicherweise ein Tool durchlaufen und einen Spot optimieren, aber es wird nur jedes Mal interpretiert, wenn es ausgeführt wird. – thecoshman

+0

Um irgendeine anständige Leistung zu erhalten, wird das Ganze in einen abstrakten Syntaxbaum geparst. Text direkt zu interpretieren ist erbärmlich langsam. Bei vielen dieser Vorlagensysteme ist der Syntaxbaum für beide Formulare derselbe (ein Knoten, der ein Zeichenfolgenliteral und einen Ausgabebefehl darstellt). –

0

Es gibt überhaupt keinen Leistungsunterschied.

Nur der Stil, der den lesbarsten Code erzeugt. Abhängig von der tatsächlichen Situation kann das eine der beiden sein.

Aber Mischen von HTML und PHP sollte möglichst vermieden werden. Dies kann durch Verwendung eines Vorlagensystems für Ihre Ansichten erreicht werden.

+2

PHP ist ein Vorlagensystem. –

+0

Genau, keine Notwendigkeit, eine weitere Ebene darüber für Templating zu implementieren. –