web-dev-qa-db-fra.com

Meilleure pratique pour PHP

Lorsque vous faites un template tel que single.php et que vous avez php enveloppé en HTML, est-il préférable de:

  1. Démarrer + Arrêter PHP? par exemple

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

Ou

  1. Écho HTML et échapper PHP? Par exemple -

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

Je n'ai pas le choix préféré et je me retrouve à faire les deux, je suis juste curieux d'entendre certaines pensées

11
Joey Urbansoul

Cette question est uniquement pertinente, car WordPress utilise un mélange de langage de codage et de langage de présentation. Si vous utilisez un modèle de langage, une syntaxe, alors cette rubrique n'est pas pertinente. Mais à votre question. Si vous utilisez votre exemple de source pour un thème, beaucoup plus de langage de présentation comme html, je préfère le premier - il est beaucoup plus lisible par le concepteur et les utilisateurs, il doit donc lire le balisage. Il est plus facile de créer une vue d'ensemble sur le balisage, les balises d'ouverture et de fermeture, etc.

Pour les plugins include in, le code avec plus de logique et de flux est le deuxième exemple le plus facile à implémenter. Le sujet principal est php, pas le balisage et cela devrait être visible dans la source. C'est également un point à prendre en compte pour exclure ce balisage dans les fichiers de modèle et séparer le balisage de la logique.

10
bueltge

Juste comme des informations supplémentaires. WordPress a manuels pour PHP & HTML sur les meilleures pratiques en matière de normes de codage , ainsi que pour CSS, JavaScript et Accessibilité. Vous pourriez les trouver utiles pour approfondir la question.

8
Nicolai

Comme expliqué dans la réponse ci-dessus, la première méthode est conviviale pour le concepteur et la seconde peut convenir dans le cas de plugins et de codes php complexes où le nombre de balises html n'est que peu élevé.

Mais la plupart des balises de modèle WordPress ont les paramètres before et after et il est plus approprié d’utiliser vos codes html dans un appel de fonction.

par exemple dans le cas de the_title il a trois paramètres

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

vous pouvez passer votre code HTML avant et après les paramètres comme ci-dessous

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

les avantages de cette méthode sont

  • Designer Friendly
  • n'imprimera pas les tags HTML si le titre est vide
  • peut être utilisé dans des codes php complexes ainsi que dans des fichiers modèles simples
5
Anwer AR

Votre exemple de code est marginal car il ne montre que deux lignes de code, mais je pense que la réponse générale est assez situationnelle. Si vous utilisez une ligne PHP dans un bloc HTML, utilisez la première méthode. Si vous utilisez une ligne HTML dans un bloc PHP, allez avec le second.

0
Nadav

La première méthode est préférable car:

  • Il sépare clairement la mise en page HTML fixe du contenu dynamique.
  • C'est plus facile à lire.
  • La coloration syntaxique est préférable pour la plupart des éditeurs, car les attributs HTML dans la chaîne ne sont généralement pas reconnus.
  • Cela vous empêche de mêler trop facilement HTML et PHP.

Pour les raisons exposées ci-dessus, la première méthode conduit à un code plus facile à comprendre et donc plus facile à gérer.

D'après mon expérience, dans certaines situations, il peut sembler plus pratique d'utiliser la deuxième méthode. Cependant, cela est généralement dû à une conception faible (logiciel) et devrait être considéré comme un signe d'alerte.

0
not2savvy