Meilleures pratiques pour PHP

11

Lorsque vous créez un modèle tel que single.php et que vous avez php enveloppé au format 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éalable et je me retrouve à faire les deux, je suis juste curieux d'entendre certaines pensées

    
posée Joey Urbansoul 28.02.2017 - 14:58

5 réponses

10

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 du balisage, d'avoir 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.

    
réponse donnée bueltge 28.02.2017 - 15:58
8

Juste comme information supplémentaire. WordPress contient des manuels pour PHP & HTML sur les meilleures pratiques concernant les normes de codage , ainsi que pour CSS, JavaScript et l'accessibilité. Vous les trouverez peut-être utiles pour approfondir la question.

    
réponse donnée Nicolai 28.02.2017 - 16:24
6

Comme expliqué dans la réponse ci-dessus, la première méthode est conviviale pour les concepteurs & deuxième méthode peut convenir dans le cas de plugins et de codes php complexes où le nombre de balises html ne sont que peu nombreuses.

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 à l’intérieur de l’appel de la 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 balises HTML si le titre est vide
  • peut être utilisé dans des codes php complexes ainsi que dans des fichiers modèles simples
réponse donnée Anwer AR 02.03.2017 - 19:37
0

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.
  • Cette fonctionnalité est mieux prise en charge par la coloration syntaxique dans 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.

    
réponse donnée not2savvy 02.03.2017 - 16:00
0

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, utilisez le second.

    
réponse donnée Nadav 15.03.2017 - 09:53

Lire d'autres questions sur les étiquettes