webentwicklung-frage-antwort-db.com.de

Best Practice für PHP

Wenn Sie eine Vorlage wie single.php erstellen und PHP in HTML eingebunden haben, ist es am besten,

  1. PHP starten + stoppen? zum Beispiel

     <h1 class="post-tilte"><?php the_title(); ?></h1>
     <p class="post-content"><?php the_content();?></p>
    

Oder

  1. Echo HTML und Escape PHP? Zum Beispiel -

    <?php echo '<h1 class="post-title">' . get_the_title() . '</h1>
    <p class="post-content"' . get_the_content() . '</p>
    

Ich habe keine bevorzugte Wahl und tue beides. Ich bin nur neugierig, ein paar Gedanken zu hören

11
Joey Urbansoul

Diese Frage ist nur relevant, weil WordPress eine Mischung aus einer Codierungssprache und einer Layoutsprache verwendet. Wenn Sie eine Vorlagensprache verwenden würden, ist die Syntax dieses Themas nicht relevant. Aber zu deiner Frage. Wenn Sie Ihre Beispielquelle für ein Theme verwenden, viel mehr Layoutsprache wie HTML, dann bevorzuge ich die erste - sie ist für Designer und Benutzer viel lesbarer, da muss das Markup gelesen werden. Es ist einfacher, eine Übersicht über das Markup zu erstellen, die offenen und schließenden Tags usw. zu haben.

Für das Include in Plugins ist Code mit mehr Logik und Fluss das zweite Beispiel, das einfacher zu implementieren ist. Das Hauptthema ist PHP, nicht Markup und dies sollte in der Quelle sichtbar sein. Dies ist auch ein wichtiger Punkt, um dieses Markup in Vorlagendateien auszuschließen und das Markup von der Logik zu trennen.

10
bueltge

Nur als zusätzliche Information. WordPress hat Handbücher für PHP & HTML zu bewährten Methoden in Bezug auf Codierungsstandards , auch für CSS, JavaScript und Barrierefreiheit. Vielleicht finden Sie sie hilfreich, um tiefer in die Sache einzusteigen.

8
Nicolai

Wie in der obigen Antwort erläutert, ist die erste Methode designerfreundlich und die zweite Methode möglicherweise für Plugins und komplexe PHP-Codes geeignet, bei denen die Anzahl der HTML-Tags nur gering ist.

Aber die meisten WordPress-Template-Tags haben before- und after-Parameter und es ist besser geeignet, Ihre HTML-Codes innerhalb des Funktionsaufrufs zu verwenden.

im Fall von the_title hat es beispielsweise drei Parameter

the_title( $before, $after, $echo );

sie können Ihre HTML vor und nach Parametern wie unten übergeben

the_title( '<h2 class="title">', '</h2>', true );

die Vorteile dieser Methode sind

  • Designer freundlich
  • druckt keine HTML-Tags aus, wenn der Titel leer ist
  • kann sowohl in komplexen PHP-Codes als auch in einfachen Vorlagendateien verwendet werden
5
Anwer AR

Ihr Codebeispiel ist marginal, da es nur zwei Codezeilen enthält, aber ich glaube, die Gesamtantwort ist ziemlich situationsabhängig. Wenn Sie eine PHP -Zeile in einem HTML-Block verwenden, verwenden Sie die erste Methode. Wenn Sie eine HTML-Zeile in einem PHP -Block verwenden, fahren Sie mit der zweiten fort.

0
Nadav

Die erste Methode ist vorzuziehen, weil:

  • Es trennt das feste HTML-Layout klar vom dynamischen Inhalt.
  • Es ist leichter zu lesen.
  • Es wird in den meisten Editoren besser durch Syntaxhervorhebung unterstützt, da die HTML-Attribute in der Zeichenfolge normalerweise nicht erkannt werden.
  • Es verhindert, dass Sie HTML und PHP zu leicht miteinander vermischen.

Aus den oben genannten Gründen führt die erste Methode zu Code, der einfacher zu verstehen und damit einfacher zu warten ist.

Nach meiner Erfahrung kann es in einigen Situationen praktischer erscheinen, die zweite Methode zu verwenden. Dies ist jedoch in der Regel auf ein schwaches (Software-) Design zurückzuführen und sollte als Warnzeichen angesehen werden.

0
not2savvy