Les normes de codage WordPress Citations simples et Citations doubles

Dans cette série, nous examinons les normes de codage PHP WordPress afin de mieux comprendre comment un code WordPress de qualité doit être écrit..

Bien entendu, tout cela est documenté dans les normes de codage WordPress et il s’agit d’un site que chaque développeur WordPress devrait avoir mis en signet et à portée de main lorsqu’il travaille sur un thème, un plugin ou une application; Cependant, si vous vous lancez dans le développement de WordPress, il est important de comprendre la raison Pourquoi les conventions sont comme elles sont.

Dans cet article, nous allons examiner l'utilisation des guillemets simples et des guillemets doubles spécifiquement dans le traitement des chaînes..

Cet article est peut-être l'article le plus court et le plus simple de la série, mais il devrait couvrir certaines nuances importantes en ce qui concerne l'utilisation de guillemets simples, de guillemets doubles et de chaînes dans WordPress..


Cordes en PHP et Cordes dans WordPress

Avant de discuter des chaînes relatives à WordPress, il est important de comprendre comment le langage PHP interprète les chaînes lorsqu'elles sont citées à la fois ou à double guillemet..

Citations uniques en PHP

Premièrement, le moyen le plus simple et le plus simple de définir une chaîne de caractères en PHP consiste simplement à l'envelopper de guillemets simples (c'est-à-dire du caractère ')..

Comme avec la plupart des langages de programmation, il sont façons d'échapper aux caractères afin que vous puissiez écrire un littéral de chaîne. Par exemple, si vous voulez écrire: "Les chaînes en PHP sont faciles", sous forme de chaîne, vous pouvez procéder comme suit:

"Les chaînes en PHP sont faciles."

Voir? Les barres obliques inverses demanderont à PHP d'écrire le guillemet simple plutôt que de mettre fin à la chaîne.

La deuxième chose à noter est que si vous avez une variable, il sera ne pas être remplacé entre guillemets simples. Par exemple, supposons que vous ayez une variable appelée $ name et il contient la valeur "Envato".

Plus précisément, dans le code, ceci ressemblerait à ceci:

$ name = 'Envato'

Si vous deviez intégrer le $ name variable dans une autre chaîne, 'Envato' ne serait pas remplacé.

 $ name = 'Envato'; echo 'j'écris pour $ name. C'est très amusant.';

Cela ferait simplement écho: J'écris pour $ name. C'est très amusant.

Voici où les guillemets doubles commencent à être utiles.

Double devis en PHP

Directement du manuel PHP:

Si la chaîne est placée entre guillemets ("), PHP interprétera davantage de séquences d'échappement pour les caractères spéciaux..

Vous pouvez en savoir plus sur les caractères d'échappement et d'autres informations dans le manuel PHP, mais supposons que nous avons dû retravailler certaines des chaînes que nous avons définies ci-dessus..

Notre premier exemple, celui avec la citation simple échappée, pourrait maintenant être défini comme suit:

"Les chaînes en PHP sont faciles."

Notre deuxième exemple pourrait aller plus loin: non seulement la séquence d'échappement n'est plus nécessaire, mais la variable sera également évaluée:

 $ name = 'Envato'; echo "J'écris pour $ name. C'est très amusant.";

La deuxième ligne va littéralement faire écho: J'écris pour Envato. C'est très amusant.

Donc, avec cette introduction couverte, parlons des spécificités des chaînes dans WordPress. La vérité est que, si vous avez une bonne compréhension de tout ce qui précède, il n’ya rien d’autre à ajouter que quelques cas ponctuels..

Citations uniques dans WordPress

Pour rester cohérent avec les conventions de codage PHP, la règle générale à suivre est de toujours utiliser des guillemets simples pour définir vos chaînes..

Comme une grande partie du travail effectué dans WordPress inclut également la rédaction de balises dans une chaîne PHP, il est préférable de placer ces chaînes entre guillemets simples afin que les attributs de l'élément HTML puissent être placés entre guillemets.

Par exemple:

$ html = 'WordPress';

Évidemment, ce qui précède rend la lecture plus agréable que de devoir placer plusieurs caractères d'échappement pour gérer les guillemets, les barres obliques, etc..

Si vous avez affaire à un balisage qui doit s'étendre sur plusieurs lignes ou à la création de plusieurs éléments, dont certains sont des éléments enfants d'autres, je recommande toujours d'indenter le code afin qu'il soit lu comme un document HTML..

Par exemple:

 $ name = 'Tom McFarlin'; $ html = '
'; $ html. = ''. $ name. ''; $ html. =
';

Il est important de noter que cela ne fait pas partie des normes de codage WordPress - cette convention est une convention que je trouve simplement utile pour la maintenance du code - mais rappelez-vous que les chaînes entre guillemets simples ne pas évaluer la valeur d'une variable.

En tant que tel, il est important de noter que, dans ce cas, nous utilisons la concaténation de chaînes pour inclure la définition de variable..

Citations doubles dans WordPress

Comme pour les guillemets doubles en PHP, il est important de noter qu'il est parfois préférable de les utiliser, en particulier lorsque vous devez évaluer une variable..

En utilisant l'exemple du code ci-dessus, nous l'adapterions comme suit:

 $ name = 'Tom McFarlin'; $ html = "
"; $ html. ="$ name"; $ html. ="
";

Notez que nous avons remplacé toutes les guillemets simples par des guillemets doubles et que nous n’avons plus à effectuer de concaténation de chaînes avec le $ name variable car il sera évalué.

Il est également important de noter que même s'il est discutable plus commun pour voir les guillemets doubles appliqués aux attributs HTML, les guillemets simples fonctionnent également très bien, en particulier dans des scénarios comme celui-ci.


Mais là Sont Exceptions

Lorsque vous travaillez avec des chaînes et divers langages de programmation, notamment HTML, les choses peuvent être un peu compliquées en termes d'imbrication de votre code..

Par exemple, supposons que vous utilisiez PHP pour écrire du code JavaScript, qui est responsable du rendu du code HTML. Dans ce scénario, vous allez écrire beaucoup de citations.

Bien qu'il soit possible d'alterner simplement vos styles de citation, cela ne fonctionnera pas dans 100% des cas..

Même les normes de codage stipulent:

JavaScript est une exception à cette règle, qui nécessite parfois des guillemets simples ou doubles..

Bien qu’il arrive parfois que vous ne puissiez pas le faire, cela renforce l’idée selon laquelle nous devrions nous efforcer de conserver chaque langage de programmation dans son propre style de fichier et de les inclure quand et où cela est nécessaire..


Y at-il des problèmes de sécurité?

Oui, mais WordPress les rend extrêmement faciles à gérer. Bien que cela relève techniquement de la validation des données, il est étroitement lié à ce dont nous discutons dans cet article..

Le principal problème est qu’il arrive parfois que nous écrivions de manière dynamique des attributs HTML dans notre balisage qui ont des valeurs que nous ne pouvons pas anticiper. Dans de tels cas, nous devons pouvoir échapper auxdites données..

Heureusement, WordPress fournit la esc_attr une fonction. En termes simples, cette fonction prendra une chaîne entrante et encodera les caractères pour s’assurer qu’ils sont correctement restitués au navigateur..

En pratique, vous l'utiliseriez exactement comme le montre le Codex:

 écho '';

Pour plus d'informations, veillez à consulter l'article du Codex.


Conclusion

Donc, en règle générale, vous devriez vous en tenir à des guillemets simples sauf si vous allez évaluer une chaîne ou vous allez renvoyer et renvoyer un code HTML, JavaScript ou même potentiellement CSS à l'appelant.

Tout comme le stipulent les normes de codage:

Vous ne devriez presque jamais avoir à échapper des guillemets dans une chaîne, car vous pouvez simplement alterner votre style de guillemet.

Par conséquent, lorsque vous travaillez avec des chaînes dans votre travail futur, gardez ces principes à l'esprit et vous pourrez ainsi vous assurer que vos chaînes sont aussi propres et faciles à comprendre que possible dans le contexte de vos projets WordPress..